[tip: x86/cpu] x86/centaur: Use common IA32_FEAT_CTL MSR initialization

tip-bot2 for Sean Christopherson
2020-01-14T10:17:58Z

The following commit has been merged into the x86/cpu branch of tip:

Commit-ID: 501444905fcb4166589fda99497c273ac5efc65e
Gitweb: https://git.kernel.org/tip/501444905fcb4166589fda99497c273ac5efc65e
Author: Sean Christopherson <sean.j.christopherson@intel.com>
AuthorDate: Fri, 20 Dec 2019 20:45:00 -08:00
Committer: Borislav Petkov <bp@suse.de>
CommitterDate: Mon, 13 Jan 2020 17:48:36 +01:00

x86/centaur: Use common IA32_FEAT_CTL MSR initialization

Use the recently added IA32_FEAT_CTL MSR initialization sequence to
opportunistically enable VMX support when running on a Centaur CPU.

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-7-sean.j.christopherson@intel.com
---
arch/x86/Kconfig.cpu | 2 +-
arch/x86/kernel/cpu/centaur.c | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
index 98be76f..cba5b64 100644
--- a/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu
@@ -389,7 +389,7 @@ config X86_DEBUGCTLMSR

config IA32_FEAT_CTL
def_bool y
- depends on CPU_SUP_INTEL
+ depends on CPU_SUP_INTEL || CPU_SUP_CENTAUR

menuconfig PROCESSOR_SELECT
bool "Supported processor vendors" if EXPERT
diff --git a/arch/x86/kernel/cpu/centaur.c b/arch/x86/kernel/cpu/centaur.c
index 14433ff..084f604 100644
--- a/arch/x86/kernel/cpu/centaur.c
+++ b/arch/x86/kernel/cpu/centaur.c
@@ -250,6 +250,8 @@ static void init_centaur(struct cpuinfo_x86 *c)
set_cpu_cap(c, X86_FEATURE_LFENCE_RDTSC);
#endif

+ init_ia32_feat_ctl(c);
+
if (cpu_has(c, X86_FEATURE_VMX))
centaur_detect_vmx_virtcap(c);
}