Re: testing early microcode loading
On 9/10/18 8:55 PM, Pete Wright wrote: > On 9/10/18 5:41 PM, Mark Johnston wrote: >> On Mon, Sep 10, 2018 at 12:48:56PM -0700, Pete Wright wrote: >>> 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. >>> 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. >> Right, we currently print something only if an update was configured >> but failed to apply. We should probably print something either way, >> perhaps only if the kernel is booted with -v. > i could certainly as being helpful for debugging. >>> running x86info results in the following: >>> >>> $ sudo kldload -n cpuctl && sudo x86info -a | grep Micro >>> Microcode version: 0x008e >>> >>> 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. >> Thanks. If the boot-time update succeeded, the rc script should have >> been a no-op. Can you check for "updating cpu /dev/cpuctl..." messages >> in /var/log/messages? That would indicate that the rc script applied an >> update, which would imply that the boot-time update failed somehow. > > when i ran the rc script after boot i saw the CPU related messages in > dmesg on the console (CPU count, type, features, etc). i did not see > anything in /var/log/messages of interest either. i'll re-test tomorrow > when i get back into the office and let you know if i see anything of > interest. my plan is to: ok had time to test during lunch: > - boot with the /boot/loader.conf additions for applying microcode and > save the output from x86info Microcode version: 0x0..48 > > - boot with loader.conf settings uncommented, view output of x86conf Microcode version: 0x0...8e > - then run rc script and get output of x86conf Microcode version: 0x0..8e great, so it looks like this is working on my kabylake workstation. the only time i see a log entry is when i update the microcode via rc, i do not see anything when its updated via loader.conf. cheers, -pete -- Pete Wright p...@nomadlogic.org 310.309.9298 ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: testing early microcode loading
On Tue, Sep 11, 2018 at 10:20:56AM +0200, Andrea Venturoli wrote: > On 9/10/18 8:26 PM, 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. > > Thanks for your work. > Altough I cannot test it yet, I appreciate it. > > Just one question: what about AMD? > Is support for this brand coming in the future? > Is it impossible for some reason? I do plan to work on it: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231024 ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: testing early microcode loading
On 9/10/18 8:26 PM, 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. Thanks for your work. Altough I cannot test it yet, I appreciate it. Just one question: what about AMD? Is support for this brand coming in the future? Is it impossible for some reason? bye & Thanks av. ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: testing early microcode loading
On 9/10/18 5:41 PM, Mark Johnston wrote: > On Mon, Sep 10, 2018 at 12:48:56PM -0700, Pete Wright wrote: >> >> 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. >> 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. > Right, we currently print something only if an update was configured > but failed to apply. We should probably print something either way, > perhaps only if the kernel is booted with -v. i could certainly as being helpful for debugging. >> running x86info results in the following: >> >> $ sudo kldload -n cpuctl && sudo x86info -a | grep Micro >> Microcode version: 0x008e >> >> 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. > Thanks. If the boot-time update succeeded, the rc script should have > been a no-op. Can you check for "updating cpu /dev/cpuctl..." messages > in /var/log/messages? That would indicate that the rc script applied an > update, which would imply that the boot-time update failed somehow. when i ran the rc script after boot i saw the CPU related messages in dmesg on the console (CPU count, type, features, etc). i did not see anything in /var/log/messages of interest either. i'll re-test tomorrow when i get back into the office and let you know if i see anything of interest. my plan is to: - boot with the /boot/loader.conf additions for applying microcode and save the output from x86info - boot with loader.conf settings uncommented, view output of x86conf - then run rc script and get output of x86conf -pete -- Pete Wright p...@nomadlogic.org 310.309.9298 ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: testing early microcode loading
On Mon, Sep 10, 2018 at 12:48:56PM -0700, Pete Wright wrote: > > > 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. > > 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. Right, we currently print something only if an update was configured but failed to apply. We should probably print something either way, perhaps only if the kernel is booted with -v. > running x86info results in the following: > > $ sudo kldload -n cpuctl && sudo x86info -a | grep Micro > Microcode version: 0x008e > > 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. Thanks. If the boot-time update succeeded, the rc script should have been a no-op. Can you check for "updating cpu /dev/cpuctl..." messages in /var/log/messages? That would indicate that the rc script applied an update, which would imply that the boot-time update failed somehow. > for reference here is my dmesg: > https://gist.github.com/nomadlogic/bfc54315b97d374a7818d29bfc93223e ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: testing early microcode loading
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: 0x0020 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: 0x0020 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: 0x008e 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 p...@nomadlogic.org @nomadlogicLA ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"