diff options
author | Christoph Egger <Christoph.Egger@amd.com> | 2011-11-02 16:23:23 +0000 |
---|---|---|
committer | Christoph Egger <Christoph.Egger@amd.com> | 2011-11-02 16:23:23 +0000 |
commit | 9a190b2c54716d10753bda1c8b1c6f64c4a05d72 (patch) | |
tree | 3bea41b9cfdd8e86e5c5702fbf16322511b5d083 /tools/libxl/libxl_cpuid.c | |
parent | fb971dc3b4b7079892bc2fcc0842e42403ed0b0b (diff) | |
download | xen-9a190b2c54716d10753bda1c8b1c6f64c4a05d72.tar.gz xen-9a190b2c54716d10753bda1c8b1c6f64c4a05d72.tar.bz2 xen-9a190b2c54716d10753bda1c8b1c6f64c4a05d72.zip |
libxl: allow to enable/disable cpuid bits
Allow to enable/disable SVM specific cpuid bits in the guest config
file via cpuid config option. Also allow to enable/disable the
hypervisor cpuid bit in the guest config file. We need to disable the
hypervisor cpuid bit to get Hyper-V going.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/libxl/libxl_cpuid.c')
-rw-r--r-- | tools/libxl/libxl_cpuid.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/libxl/libxl_cpuid.c b/tools/libxl/libxl_cpuid.c index 4cbf7db1fa..78bcab509f 100644 --- a/tools/libxl/libxl_cpuid.c +++ b/tools/libxl/libxl_cpuid.c @@ -92,6 +92,7 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str) {"proccount", 0x00000001, NA, CPUID_REG_EBX, 16, 8}, {"clflush", 0x00000001, NA, CPUID_REG_EBX, 8, 8}, {"brandid", 0x00000001, NA, CPUID_REG_EBX, 0, 8}, + {"hypervisor", 0x00000001, NA, CPUID_REG_ECX, 31, 1}, {"f16c", 0x00000001, NA, CPUID_REG_ECX, 29, 1}, {"avx", 0x00000001, NA, CPUID_REG_ECX, 28, 1}, {"osxsave", 0x00000001, NA, CPUID_REG_ECX, 27, 1}, @@ -178,6 +179,13 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str) {"procpkg", 0x00000004, 0, CPUID_REG_EAX, 26, 6}, {"apicidsize", 0x80000008, NA, CPUID_REG_ECX, 12, 4}, {"nc", 0x80000008, NA, CPUID_REG_ECX, 0, 8}, + {"svm_npt", 0x8000000a, NA, CPUID_REG_EDX, 0, 1}, + {"svm_lbrv", 0x8000000a, NA, CPUID_REG_EDX, 1, 1}, + {"svm_nrips", 0x8000000a, NA, CPUID_REG_EDX, 3, 1}, + {"svm_tscrate", 0x8000000a, NA, CPUID_REG_EDX, 4, 1}, + {"svm_vmcbclean",0x8000000a, NA, CPUID_REG_EDX, 5, 1}, + {"svm_decode", 0x8000000a, NA, CPUID_REG_EDX, 7, 1}, + {"svm_pausefilt",0x8000000a, NA, CPUID_REG_EDX, 10, 1}, {NULL, 0, CPUID_REG_INV, 0, 0} }; |