On Fri, Jul 11, 2025 at 03:15:22PM +0200, Thomas Voegtle wrote:
dmesg | grep -E '(micro|min_rev)' [ 0.000000] amd_check_tsa_microcode: ucode_rev: 0xa001000, current revision: 0xa20102e
Damn ext model.
Try the below and send dmesg again pls. I think this should work.
---
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 1180689a2390..6717abe569c8 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -547,6 +547,7 @@ static bool amd_check_tsa_microcode(void)
p.ext_fam = c->x86 - 0xf; p.model = c->x86_model; + p.ext_model = c->x86_model >> 4; p.stepping = c->x86_stepping;
if (cpu_has(c, X86_FEATURE_ZEN3) || @@ -569,12 +570,15 @@ static bool amd_check_tsa_microcode(void) case 0xa70c0: min_rev = 0x0a70c008; break; case 0xaa002: min_rev = 0x0aa00216; break; default: - pr_debug("%s: ucode_rev: 0x%x, current revision: 0x%x\n", + pr_info("%s: ucode_rev: 0x%x, current revision: 0x%x\n", __func__, p.ucode_rev, c->microcode); return false; } }
+ pr_info("c->microcode: 0x%x, min_rev: 0x%x, ucode_rev: 0x%x\n", + c->microcode, min_rev, p.ucode_rev); + if (!min_rev) return false;