x86/cpu: Move AMD erratum 1386 table over to 'x86_cpu_id'
authorDave Hansen <dave.hansen@linux.intel.com>
Fri, 13 Dec 2024 18:51:32 +0000 (10:51 -0800)
committerDave Hansen <dave.hansen@linux.intel.com>
Wed, 18 Dec 2024 14:09:04 +0000 (06:09 -0800)
The AMD erratum 1386 detection code uses and old style 'x86_cpu_desc'
table. Replace it with 'x86_cpu_id' so the old style can be removed.

I did not create a new helper macro here. The new table is certainly
more noisy than the old and it can be improved on. But I was hesitant
to create a new macro just for a single site that is only two ugly
lines in the end.

Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://lore.kernel.org/all/20241213185132.07555E1D%40davehans-spike.ostc.intel.com
arch/x86/kernel/cpu/amd.c

index d8408aafeed988454a570b0d7c423a8cee2a1bc4..7bb5b1ad18c21b3969169e48b8653fa6d4b56f1f 100644 (file)
@@ -795,10 +795,9 @@ static void init_amd_bd(struct cpuinfo_x86 *c)
        clear_rdrand_cpuid_bit(c);
 }
 
-static const struct x86_cpu_desc erratum_1386_microcode[] = {
-       AMD_CPU_DESC(0x17,  0x1, 0x2, 0x0800126e),
-       AMD_CPU_DESC(0x17, 0x31, 0x0, 0x08301052),
-       {},
+static const struct x86_cpu_id erratum_1386_microcode[] = {
+       X86_MATCH_VFM_STEPS(VFM_MAKE(X86_VENDOR_AMD, 0x17, 0x01), 0x2, 0x2, 0x0800126e),
+       X86_MATCH_VFM_STEPS(VFM_MAKE(X86_VENDOR_AMD, 0x17, 0x31), 0x0, 0x0, 0x08301052),
 };
 
 static void fix_erratum_1386(struct cpuinfo_x86 *c)
@@ -814,7 +813,7 @@ static void fix_erratum_1386(struct cpuinfo_x86 *c)
         * Clear the feature flag only on microcode revisions which
         * don't have the fix.
         */
-       if (x86_cpu_has_min_microcode_rev(erratum_1386_microcode))
+       if (x86_match_min_microcode_rev(erratum_1386_microcode))
                return;
 
        clear_cpu_cap(c, X86_FEATURE_XSAVES);