[PATCH] x86/cpu: clear X86_BUG_SPECTRE_V2 on Zhaoxin family 7 CPUs

From: Tony W Wang-oc
Date: Wed Jan 15 2020 - 03:19:44 EST


These CPUs are not affected by spectre_v2, so clear spectre_v2 bug flag
in their specific initialization code.

Signed-off-by: Tony W Wang-oc <TonyWWang-oc@xxxxxxxxxxx>
---
arch/x86/kernel/cpu/centaur.c | 5 +++++
arch/x86/kernel/cpu/zhaoxin.c | 5 +++++
2 files changed, 10 insertions(+)

diff --git a/arch/x86/kernel/cpu/centaur.c b/arch/x86/kernel/cpu/centaur.c
index b98529e..3567560 100644
--- a/arch/x86/kernel/cpu/centaur.c
+++ b/arch/x86/kernel/cpu/centaur.c
@@ -250,6 +250,11 @@ static void init_centaur(struct cpuinfo_x86 *c)

if (cpu_has(c, X86_FEATURE_VMX))
centaur_detect_vmx_virtcap(c);
+
+ if (c->x86 == 7) {
+ setup_clear_cpu_cap(X86_BUG_SPECTRE_V2);
+ clear_bit(X86_BUG_SPECTRE_V2, (unsigned long *)cpu_caps_set);
+ }
}

#ifdef CONFIG_X86_32
diff --git a/arch/x86/kernel/cpu/zhaoxin.c b/arch/x86/kernel/cpu/zhaoxin.c
index 452fd0a..ea7c52f 100644
--- a/arch/x86/kernel/cpu/zhaoxin.c
+++ b/arch/x86/kernel/cpu/zhaoxin.c
@@ -141,6 +141,11 @@ static void init_zhaoxin(struct cpuinfo_x86 *c)

if (cpu_has(c, X86_FEATURE_VMX))
zhaoxin_detect_vmx_virtcap(c);
+
+ if (c->x86 == 7) {
+ setup_clear_cpu_cap(X86_BUG_SPECTRE_V2);
+ clear_bit(X86_BUG_SPECTRE_V2, (unsigned long *)cpu_caps_set);
+ }
}

#ifdef CONFIG_X86_32
--
2.7.4