From 941cd44324db7eddc46cba4596fa13d505066ccf Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 13 Oct 2015 17:17:52 +0200 Subject: [PATCH] x86: hide MWAITX from PV domains Since MWAIT is hidden too. (Linux starting with 4.3 is making use of that feature, and is checking for it without looking at the MWAIT one.) Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper --- xen/arch/x86/traps.c | 1 + xen/include/asm-x86/cpufeature.h | 1 + 2 files changed, 2 insertions(+) diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 07feb6d708..f1fc7b79d5 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -964,6 +964,7 @@ void pv_cpuid(struct cpu_user_regs *regs) __clear_bit(X86_FEATURE_LWP % 32, &c); __clear_bit(X86_FEATURE_NODEID_MSR % 32, &c); __clear_bit(X86_FEATURE_TOPOEXT % 32, &c); + __clear_bit(X86_FEATURE_MWAITX % 32, &c); break; case 0x0000000a: /* Architectural Performance Monitor Features (Intel) */ diff --git a/xen/include/asm-x86/cpufeature.h b/xen/include/asm-x86/cpufeature.h index c88a6abf3d..39349349b5 100644 --- a/xen/include/asm-x86/cpufeature.h +++ b/xen/include/asm-x86/cpufeature.h @@ -140,6 +140,7 @@ #define X86_FEATURE_TBM (6*32+21) /* trailing bit manipulations */ #define X86_FEATURE_TOPOEXT (6*32+22) /* topology extensions CPUID leafs */ #define X86_FEATURE_DBEXT (6*32+26) /* data breakpoint extension */ +#define X86_FEATURE_MWAITX (6*32+29) /* MWAIT extension (MONITORX/MWAITX) */ /* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx), word 7 */ #define X86_FEATURE_FSGSBASE (7*32+ 0) /* {RD,WR}{FS,GS}BASE instructions */ -- 2.30.2