Commit to the Linux Firmware repository:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=a193c6517fbfc0e7a4e2f8b06cb2742a82a8dd63
Sponsored by: The FreeBSD Foundation
Differential D44049
sysutils/cpu-microcode-amd: Update to 2024-01-16 snapshot jrm on Feb 23 2024, 8:20 PM. Authored by Tags None Referenced Files
Subscribers None
Details Commit to the Linux Firmware repository: Sponsored by: The FreeBSD Foundation
Diff Detail
Event TimelineComment Actions @chs, what should I look for to confirm the update has been applied? System information: # dmesg | grep -A1 CPU | head -2 CPU: AMD EPYC 7402P 24-Core Processor (2800.07-MHz K8-class CPU) Origin="AuthenticAMD" Id=0x830f10 Family=0x17 Model=0x31 Stepping=0 IPMI says, Firmware Revision: 03.10.31 Firmware Build Time: 12/09/2022 So, unless I'm mistaken, there should be an update available. When the kernel is starting to boot, I see Loading configured modules... /etc/hostid size=0x25 /boot/firmware/amd-ucode.bin size=0x12986 (Hopefully the text above is correct. I had to repair some things lost in translation between the boot loader and impitool.) I don't see any other indications that something was applied. # dmesg | grep -i "micro\|update\|ucode" # Comment Actions There are some console messages printed by the early loading code, but these happen before the regular kernel printf code is initialized, so you can only see them if you enable "options EARLY_PRINTF" in your kernel config and also use "options UART_NS8250_EARLY_PORT=0x3f8" to set which serial port the early printf output should go to. (eg. the 0x3f8 in this example is com1). you also need to boot with "-v" to enable "bootverbose" messages for the ucode early load activity to be printed. Another way to verify that the ucode early load has happened is to use "cpucontrol -m 0x8b /dev/cpuctl0" to display the revision of ucode that is currently active. you can boot once with the early load stuff disabled to see the ucode revision that your BIOS has loaded, and then boot again with the early load stuff enabled, and verify that the revision numbers are different. (Intel puts the ucode revision number in the high 32 bits of the MSR value, whereas AMD puts the ucode revision number in the low 32 bits of the MSR value.) The IPMI "Firmware Revision" is the version of the firmware that your BMC is running, so that's not interesting in this context. Comment Actions Everything looks good. # before early loading is enabled # cpucontrol -m 0x8b /dev/cpuctl0 MSR 0x8b: 0x00000000 0x08301055 # after early loading is enabled # cpucontrol -m 0x8b /dev/cpuctl0 MSR 0x8b: 0x00000000 0x0830107b Also, I now see # dmesg | grep -i micro CPU microcode: updated from 0x8301055 to 0x830107b PEBCAK. I was running on something before 34467bd762. |