Skip to content

Commit 03ceaf6

Browse files
committed
x86/CPU/AMD: Do the common init on future Zens too
There's no need to enable the common Zen init stuff for each new family - just do it by default on everything >= 0x17 family. Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com> Link: https://lore.kernel.org/r/20240201161024.30839-1-bp@alien8.de
1 parent 841c351 commit 03ceaf6

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

arch/x86/kernel/cpu/amd.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -969,7 +969,6 @@ static void init_amd_zen_common(void)
969969

970970
static void init_amd_zen1(struct cpuinfo_x86 *c)
971971
{
972-
init_amd_zen_common();
973972
fix_erratum_1386(c);
974973

975974
/* Fix up CPUID bits, but only if not virtualised. */
@@ -1023,16 +1022,13 @@ static void zen2_zenbleed_check(struct cpuinfo_x86 *c)
10231022

10241023
static void init_amd_zen2(struct cpuinfo_x86 *c)
10251024
{
1026-
init_amd_zen_common();
10271025
init_spectral_chicken(c);
10281026
fix_erratum_1386(c);
10291027
zen2_zenbleed_check(c);
10301028
}
10311029

10321030
static void init_amd_zen3(struct cpuinfo_x86 *c)
10331031
{
1034-
init_amd_zen_common();
1035-
10361032
if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) {
10371033
/*
10381034
* Zen3 (Fam19 model < 0x10) parts are not susceptible to
@@ -1046,15 +1042,12 @@ static void init_amd_zen3(struct cpuinfo_x86 *c)
10461042

10471043
static void init_amd_zen4(struct cpuinfo_x86 *c)
10481044
{
1049-
init_amd_zen_common();
1050-
10511045
if (!cpu_has(c, X86_FEATURE_HYPERVISOR))
10521046
msr_set_bit(MSR_ZEN4_BP_CFG, MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT);
10531047
}
10541048

10551049
static void init_amd_zen5(struct cpuinfo_x86 *c)
10561050
{
1057-
init_amd_zen_common();
10581051
}
10591052

10601053
static void init_amd(struct cpuinfo_x86 *c)
@@ -1094,6 +1087,13 @@ static void init_amd(struct cpuinfo_x86 *c)
10941087
case 0x16: init_amd_jg(c); break;
10951088
}
10961089

1090+
/*
1091+
* Save up on some future enablement work and do common Zen
1092+
* settings.
1093+
*/
1094+
if (c->x86 >= 0x17)
1095+
init_amd_zen_common();
1096+
10971097
if (boot_cpu_has(X86_FEATURE_ZEN1))
10981098
init_amd_zen1(c);
10991099
else if (boot_cpu_has(X86_FEATURE_ZEN2))

0 commit comments

Comments
 (0)