testing early microcode loading

Mark Johnston markj at freebsd.org
Mon Sep 10 18:27:03 UTC 2018


Hi,

Support for boot-time loading of Intel microcode updates has landed in
the kernel in r337715, and in the sysutils/devcpu-data port as of 1.20.
I'd like to solicit some testing of the feature ahead of 12.0.

The port has been modified to install /boot/firmware/intel-ucode.bin.
This file contains a copy of every Intel microcode update supplied by
the port.  Per the pkg-message, one can enable early loading of this
file by specifying:

  cpu_microcode_load="YES"
  cpu_microcode_name="/boot/firmware/intel-ucode.bin"

in loader.conf.  The update will be applied upon a subsequent reboot.

Testing consists of enabling early loading and verifying that the CPUs
report an updated microcode version.  If early loading fails, a message
is printed to the dmesg.  If your system is capable of successful ACPI
suspend/resume, it is useful to also verify that the microcode remains
updated following a resume.

To fetch the current microcode version, use sysutils/x86info:

  # kldload -n cpuctl && x86info -a | grep Micro
  Microcode version: 0x0000000000000020

Compare with the version installed by the microcode_update rc script at
run-time:

  # service microcode_update onestart
  Updating CPU Microcode...
  Done.
  # kldload -n cpuctl && x86info -a | grep Micro
  Microcode version: 0x0000000000000020

If your testing indicates that the boot-time loading method doesn't
work, please include the dmesg in your reply.  Thanks in advance.


More information about the freebsd-current mailing list