From cc285166ed4f8ed4caee53a98cba9fa1c5536af2 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 15 Dec 2015 15:47:59 +0100 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 master commit: 941cd44324db7eddc46cba4596fa13d505066ccf master date: 2015-10-13 17:17:52 +0200 --- 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 e44cd2db19..318153ad99 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -873,6 +873,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 0x00000005: /* MONITOR/MWAIT */ diff --git a/xen/include/asm-x86/cpufeature.h b/xen/include/asm-x86/cpufeature.h index 526821f42c..d36bbca637 100644 --- a/xen/include/asm-x86/cpufeature.h +++ b/xen/include/asm-x86/cpufeature.h @@ -137,6 +137,7 @@ #define X86_FEATURE_NODEID_MSR (6*32+19) /* NodeId MSR */ #define X86_FEATURE_TBM (6*32+21) /* trailing bit manipulations */ #define X86_FEATURE_TOPOEXT (6*32+22) /* topology extensions CPUID leafs */ +#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 */