Re: testing early microcode loading

2018-09-11 Thread Pete Wright

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

2018-09-11 Thread Mark Johnston
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

2018-09-11 Thread Andrea Venturoli

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

2018-09-10 Thread Pete Wright

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

2018-09-10 Thread Mark Johnston
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

2018-09-10 Thread Pete Wright



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"