]> xenbits.xensource.com Git - people/aperard/linux.git/commitdiff
x86/CPU/AMD: Do the common init on future Zens too
authorBorislav Petkov (AMD) <bp@alien8.de>
Thu, 1 Feb 2024 16:10:24 +0000 (17:10 +0100)
committerBorislav Petkov (AMD) <bp@alien8.de>
Fri, 16 Feb 2024 12:15:12 +0000 (13:15 +0100)
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
arch/x86/kernel/cpu/amd.c

index f3abca334199d8eae235f1560f99448eb9675a27..fc042afba3a5cdfd5aa34fece10e6436f7fffaf4 100644 (file)
@@ -969,7 +969,6 @@ static void init_amd_zen_common(void)
 
 static void init_amd_zen1(struct cpuinfo_x86 *c)
 {
-       init_amd_zen_common();
        fix_erratum_1386(c);
 
        /* Fix up CPUID bits, but only if not virtualised. */
@@ -1023,7 +1022,6 @@ static void zen2_zenbleed_check(struct cpuinfo_x86 *c)
 
 static void init_amd_zen2(struct cpuinfo_x86 *c)
 {
-       init_amd_zen_common();
        init_spectral_chicken(c);
        fix_erratum_1386(c);
        zen2_zenbleed_check(c);
@@ -1031,8 +1029,6 @@ static void init_amd_zen2(struct cpuinfo_x86 *c)
 
 static void init_amd_zen3(struct cpuinfo_x86 *c)
 {
-       init_amd_zen_common();
-
        if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) {
                /*
                 * Zen3 (Fam19 model < 0x10) parts are not susceptible to
@@ -1046,15 +1042,12 @@ static void init_amd_zen3(struct cpuinfo_x86 *c)
 
 static void init_amd_zen4(struct cpuinfo_x86 *c)
 {
-       init_amd_zen_common();
-
        if (!cpu_has(c, X86_FEATURE_HYPERVISOR))
                msr_set_bit(MSR_ZEN4_BP_CFG, MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT);
 }
 
 static void init_amd_zen5(struct cpuinfo_x86 *c)
 {
-       init_amd_zen_common();
 }
 
 static void init_amd(struct cpuinfo_x86 *c)
@@ -1094,6 +1087,13 @@ static void init_amd(struct cpuinfo_x86 *c)
        case 0x16: init_amd_jg(c); break;
        }
 
+       /*
+        * Save up on some future enablement work and do common Zen
+        * settings.
+        */
+       if (c->x86 >= 0x17)
+               init_amd_zen_common();
+
        if (boot_cpu_has(X86_FEATURE_ZEN1))
                init_amd_zen1(c);
        else if (boot_cpu_has(X86_FEATURE_ZEN2))