Re: testing early microcode loading

From: Pete Wright <pete_at_nomadlogic.org>
Date: Mon, 10 Sep 2018 12:48:56 -0700
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
_at_nomadlogicLA
Received on Mon Sep 10 2018 - 17:55:39 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:18 UTC