aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2011-06-03 09:42:41 +0100
committerKeir Fraser <keir@xen.org>2011-06-03 09:42:41 +0100
commit8d2672e82a46221c71293eb917c5d9979c215b60 (patch)
tree592211ac7edbebcf553f8c4d3c4eac92ff5bc878
parent434940e10b3c1817eaf7b9b8db571edc6459b598 (diff)
downloadxen-8d2672e82a46221c71293eb917c5d9979c215b60.tar.gz
xen-8d2672e82a46221c71293eb917c5d9979c215b60.tar.bz2
xen-8d2672e82a46221c71293eb917c5d9979c215b60.zip
x86: Hide CPUID leaf 7 from PV guests.
Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23461:5839e797a130 xen-unstable date: Thu Jun 02 14:39:50 2011 +0100
-rw-r--r--tools/libxc/xc_cpuid_x86.c1
-rw-r--r--xen/arch/x86/traps.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c
index f275b9e9e8..c4ab764cd8 100644
--- a/tools/libxc/xc_cpuid_x86.c
+++ b/tools/libxc/xc_cpuid_x86.c
@@ -345,6 +345,7 @@ static void xc_cpuid_pv_policy(
clear_bit(X86_FEATURE_NODEID_MSR, regs[2]);
clear_bit(X86_FEATURE_TOPOEXT, regs[2]);
break;
+ case 7:
case 0xd: /* XSAVE */
case 5: /* MONITOR/MWAIT */
case 0xa: /* Architectural Performance Monitor Features */
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 5c99ebbe6f..e11036f903 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -817,6 +817,7 @@ static void pv_cpuid(struct cpu_user_regs *regs)
__clear_bit(X86_FEATURE_NODEID_MSR % 32, &c);
__clear_bit(X86_FEATURE_TOPOEXT % 32, &c);
break;
+ case 7:
case 0xd: /* XSAVE */
case 5: /* MONITOR/MWAIT */
case 0xa: /* Architectural Performance Monitor Features */