Commit b53e39c2 authored by Borislav Petkov (AMD)'s avatar Borislav Petkov (AMD) Committed by Wenkuan Wang
Browse files

x86/CPU/AMD: Call the spectral chicken in the Zen2 init function

mainline inclusion
from mainline-v6.8-rc1
commit cfbf4f992bfce1fa9f2f347a79cbbea0368e7971
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I96RWV


CVE: NA

--------------------------------

No functional change.

Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: default avatarNikolay Borisov <nik.borisov@suse.com>
Link: http://lore.kernel.org/r/20231120104152.13740-6-bp@alien8.de


Signed-off-by: default avatarWenkuan Wang <Wenkuan.Wang@amd.com>
parent 9a88bfd4
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -1011,10 +1011,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);
@@ -1086,6 +1084,7 @@ static void zenbleed_check(struct cpuinfo_x86 *c)

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

@@ -1139,7 +1138,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;
	}