[PATCH 05/13] x86/CPU/AMD: Call the spectral chicken in the Zen2 init function

From: Borislav Petkov
Date: Mon Nov 20 2023 - 05:42:36 EST


From: "Borislav Petkov (AMD)" <bp@xxxxxxxxx>

No functional change.

Signed-off-by: Borislav Petkov (AMD) <bp@xxxxxxxxx>
---
arch/x86/kernel/cpu/amd.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 6d87c43e4ee9..f43a70d495da 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -1007,10 +1007,8 @@ void init_spectral_chicken(struct cpuinfo_x86 *c)
*
* This suppresses speculation from the middle of a basic block, i.e. it
* suppresses non-branch predictions.
- *
- * We use STIBP as a heuristic to filter out Zen2 from the rest of F17H
*/
- if (!cpu_has(c, X86_FEATURE_HYPERVISOR) && cpu_has(c, X86_FEATURE_AMD_STIBP)) {
+ if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) {
if (!rdmsrl_safe(MSR_ZEN2_SPECTRAL_CHICKEN, &value)) {
value |= MSR_ZEN2_SPECTRAL_CHICKEN_BIT;
wrmsrl_safe(MSR_ZEN2_SPECTRAL_CHICKEN, value);
@@ -1041,6 +1039,7 @@ static void init_amd_zen(struct cpuinfo_x86 *c)

static void init_amd_zen2(struct cpuinfo_x86 *c)
{
+ init_spectral_chicken(c);
fix_erratum_1386(c);
}

@@ -1136,7 +1135,7 @@ static void init_amd(struct cpuinfo_x86 *c)
case 0x12: init_amd_ln(c); break;
case 0x15: init_amd_bd(c); break;
case 0x16: init_amd_jg(c); break;
- case 0x17: init_spectral_chicken(c);
+ case 0x17:
fallthrough;
case 0x19: init_amd_zn(c); break;
}
--
2.42.0.rc0.25.ga82fb66fed25