testing early microcode loading
Pete Wright
pete at nomadlogic.org
Mon Sep 10 19:55:39 UTC 2018
On 9/10/18 11:26 AM, Mark Johnston wrote:
> 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.
Hey there Mark,
So I've just tested this on a kabylake system running a kernel/world
from Sept 7th which I believe is recent enough.
After updating /boot/loader.conf as per your email I am not sure if any
microcode updates are being applied. I'm not seeing any messages
regarding firmware updates being applied in the dmesg buffer. running
x86info results in the following:
$ sudo kldload -n cpuctl && sudo x86info -a | grep Micro
Microcode version: 0x000000000000008e
this is after rebooting with the updated loader.conf as well as running
the rc script by hand. i didn't think to compare the output of x86info
before running the rc script, i can do that later today.
for reference here is my dmesg:
https://gist.github.com/nomadlogic/bfc54315b97d374a7818d29bfc93223e
Cheers,
-pete
--
Pete Wright
pete at nomadlogic.org
@nomadlogicLA
More information about the freebsd-current
mailing list