This series introduces libx86, a small shared library between the hypervisor and libxc, and hypercalls to get full CPUID/MSR policies. Future work will implement XEN_DOMCTL_set_cpumsr_policy, after the auditing and comparison logic is sorted.
In the meantime, the data marshalling logic is in a suitable state for review. This series is based on staging, and can be found in git form here: http://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/cpuid-marshal-v2 There are many changes from v1. See individual patches for details. Andrew Cooper (6): x86/msr: Drop stale comment for vcpu_msrs.spec_ctrl libx86: Introduce libx86/cpuid.h libx86: Introduce libx86/msr.h and share msr_policy with userspace libx86: Introduce a helper to serialise cpuid_policy objects libx86: Introduce a helper to deserialise cpuid_policy objects x86: Introduce struct cpu_policy to refer to a group of individual policies Roger Pau Monné (5): libx86: generate cpuid-autogen.h in the libx86 include dir libx86: Share struct cpuid_policy with userspace libx86: introduce a libx86 shared library libx86: Introduce a helper to serialise msr_policy objects libx86: introduce a helper to deserialise msr_policy objects Sergey Dyasli (2): x86/sysctl: Implement XEN_SYSCTL_get_cpu_policy x86/domctl: Implement XEN_DOMCTL_get_cpu_policy .gitignore | 2 +- tools/include/Makefile | 5 + tools/include/xen-tools/libs.h | 8 + tools/libxc/Makefile | 15 +- tools/libxc/include/xenctrl.h | 10 +- tools/libxc/xc_cpuid_x86.c | 112 +++++++++++--- tools/misc/xen-cpuid.c | 133 +++++++++++++++- tools/xenstore/xenstored_core.h | 2 - xen/arch/x86/cpu/common.c | 2 +- xen/arch/x86/cpuid.c | 32 +--- xen/arch/x86/domctl.c | 34 +++++ xen/arch/x86/sysctl.c | 98 ++++++++++++ xen/arch/x86/x86_emulate/x86_emulate.h | 7 +- xen/common/Makefile | 1 + xen/common/libx86/Makefile | 2 + xen/common/libx86/cpuid.c | 228 ++++++++++++++++++++++++++++ xen/common/libx86/msr.c | 107 +++++++++++++ xen/common/libx86/private.h | 73 +++++++++ xen/include/Makefile | 11 +- xen/include/asm-x86/cpufeatures.h | 2 +- xen/include/asm-x86/cpuid.h | 228 +--------------------------- xen/include/asm-x86/msr.h | 28 +--- xen/include/public/arch-x86/xen.h | 18 +++ xen/include/public/domctl.h | 18 +++ xen/include/public/sysctl.h | 37 +++++ xen/include/xen/libx86/Makefile | 8 + xen/include/xen/libx86/cpu-policy.h | 24 +++ xen/include/{asm-x86 => xen/libx86}/cpuid.h | 107 ++++++------- xen/include/xen/libx86/msr.h | 65 ++++++++ xen/xsm/flask/hooks.c | 2 + xen/xsm/flask/policy/access_vectors | 3 +- 31 files changed, 1036 insertions(+), 386 deletions(-) create mode 100644 xen/common/libx86/Makefile create mode 100644 xen/common/libx86/cpuid.c create mode 100644 xen/common/libx86/msr.c create mode 100644 xen/common/libx86/private.h create mode 100644 xen/include/xen/libx86/Makefile create mode 100644 xen/include/xen/libx86/cpu-policy.h copy xen/include/{asm-x86 => xen/libx86}/cpuid.h (77%) create mode 100644 xen/include/xen/libx86/msr.h -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel