Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Sep 2018 14:26:55 -0400
From:      Mark Johnston <markj@freebsd.org>
To:        freebsd-current@freebsd.org
Subject:   testing early microcode loading
Message-ID:  <20180910182655.GA2849@raichu>

next in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180910182655.GA2849>