diff options
author | Robert Hoo <robert.hu@linux.intel.com> | 2018-12-19 08:51:43 -0500 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2018-12-21 08:26:32 -0500 |
commit | a0aea130afebcd091d5396d13f25b9da24c9144a (patch) | |
tree | 02681087a11e4caf188e77790ade6ab11dc29934 | |
parent | 57d5edfe640edaaece9208cdbd7f464d255785cd (diff) |
KVM: x86: Add CPUID support for new instruction WBNOINVD
Signed-off-by: Robert Hoo <robert.hu@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | arch/x86/include/asm/cpufeatures.h | 1 | ||||
-rw-r--r-- | arch/x86/kvm/cpuid.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h index 28c4a502b419..39a48f06d39d 100644 --- a/arch/x86/include/asm/cpufeatures.h +++ b/arch/x86/include/asm/cpufeatures.h | |||
@@ -281,6 +281,7 @@ | |||
281 | #define X86_FEATURE_CLZERO (13*32+ 0) /* CLZERO instruction */ | 281 | #define X86_FEATURE_CLZERO (13*32+ 0) /* CLZERO instruction */ |
282 | #define X86_FEATURE_IRPERF (13*32+ 1) /* Instructions Retired Count */ | 282 | #define X86_FEATURE_IRPERF (13*32+ 1) /* Instructions Retired Count */ |
283 | #define X86_FEATURE_XSAVEERPTR (13*32+ 2) /* Always save/restore FP error pointers */ | 283 | #define X86_FEATURE_XSAVEERPTR (13*32+ 2) /* Always save/restore FP error pointers */ |
284 | #define X86_FEATURE_WBNOINVD (13*32+ 9) /* WBNOINVD instruction */ | ||
284 | #define X86_FEATURE_AMD_IBPB (13*32+12) /* "" Indirect Branch Prediction Barrier */ | 285 | #define X86_FEATURE_AMD_IBPB (13*32+12) /* "" Indirect Branch Prediction Barrier */ |
285 | #define X86_FEATURE_AMD_IBRS (13*32+14) /* "" Indirect Branch Restricted Speculation */ | 286 | #define X86_FEATURE_AMD_IBRS (13*32+14) /* "" Indirect Branch Restricted Speculation */ |
286 | #define X86_FEATURE_AMD_STIBP (13*32+15) /* "" Single Thread Indirect Branch Predictors */ | 287 | #define X86_FEATURE_AMD_STIBP (13*32+15) /* "" Single Thread Indirect Branch Predictors */ |
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index c731e87baef5..bbffa6c54697 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c | |||
@@ -378,7 +378,7 @@ static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function, | |||
378 | 378 | ||
379 | /* cpuid 0x80000008.ebx */ | 379 | /* cpuid 0x80000008.ebx */ |
380 | const u32 kvm_cpuid_8000_0008_ebx_x86_features = | 380 | const u32 kvm_cpuid_8000_0008_ebx_x86_features = |
381 | F(AMD_IBPB) | F(AMD_IBRS) | F(AMD_SSBD) | F(VIRT_SSBD) | | 381 | F(WBNOINVD) | F(AMD_IBPB) | F(AMD_IBRS) | F(AMD_SSBD) | F(VIRT_SSBD) | |
382 | F(AMD_SSB_NO) | F(AMD_STIBP); | 382 | F(AMD_SSB_NO) | F(AMD_STIBP); |
383 | 383 | ||
384 | /* cpuid 0xC0000001.edx */ | 384 | /* cpuid 0xC0000001.edx */ |