diff options
author | Sean Christopherson <sean.j.christopherson@intel.com> | 2019-12-21 05:45:04 +0100 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2020-01-13 18:02:53 +0100 |
commit | b47ce1fed42eeb9ac8c07fcda6c795884826723d (patch) | |
tree | 0278a4d9fecc2ae1a62c69c6ca9955e5f8750fac /arch/x86/kernel/cpu/common.c | |
parent | x86/vmx: Introduce VMX_FEATURES_* (diff) | |
download | linux-b47ce1fed42eeb9ac8c07fcda6c795884826723d.tar.xz linux-b47ce1fed42eeb9ac8c07fcda6c795884826723d.zip |
x86/cpu: Detect VMX features on Intel, Centaur and Zhaoxin CPUs
Add an entry in struct cpuinfo_x86 to track VMX capabilities and fill
the capabilities during IA32_FEAT_CTL MSR initialization.
Make the VMX capabilities dependent on IA32_FEAT_CTL and
X86_FEATURE_NAMES so as to avoid unnecessary overhead on CPUs that can't
possibly support VMX, or when /proc/cpuinfo is not available.
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20191221044513.21680-11-sean.j.christopherson@intel.com
Diffstat (limited to 'arch/x86/kernel/cpu/common.c')
-rw-r--r-- | arch/x86/kernel/cpu/common.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index 2e4d90294fe6..a5c526e004ae 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -1449,6 +1449,9 @@ static void identify_cpu(struct cpuinfo_x86 *c) #endif c->x86_cache_alignment = c->x86_clflush_size; memset(&c->x86_capability, 0, sizeof(c->x86_capability)); +#ifdef CONFIG_X86_VMX_FEATURE_NAMES + memset(&c->vmx_capability, 0, sizeof(c->vmx_capability)); +#endif generic_identify(c); |