I’m curious to find out what AMD Ryzen AI 3XX and Arch users are reporting for current microcode. I’m trying to understand how and when the microcode is loaded based on the BIOS vs the packaged supplied by Arch.
A little background. AMD has never published their consumer microcode despite the amd-ucode package being frequently updated. It has always only been for threadripper and epyc. This can (could) be confirmed by visiting AMDs ucode on Gitlab. The ucode package regardless of distro was basically useless. However, recently they have been publishing consumer CPU microcode. Earlier this year they actually published our CPU family, 1ah. But still not for our actual CPU. This week that changed and our CPUs now are all represented via the above link. (For example, the CPU ID for the HX 370 is 00B20F40 as derived from the line beginning with Family=0x1a Model=0x24 Stepping=0x00).
dmesg | grep -i microcode
Mine is reporting 0x0b204032 as per the BIOS (assumed). The last BIOS was 3.04 and it had this microcode on board. So does the new 3.05 released just yesterday. But, as stated, this week new microcode patch was released (0x0b204037) for the HX 370. After forcing an update to the amd-ucode package, I’m still reporting the prior patch.
So the question becomes: who wins in the microcode loading race? My understanding was that the BIOS supplied ucode was used to POST and if the AMD supplied package was newer, it would override the BIOS ucode via initramfs but that isn’t happening.