On Wednesday 01 Feb 2017 22:34:09 Mick wrote:
--->8
> I eventually got on top of this.  No initramfs is needed, although if you
> are using one then it will serve the same purpose too.
> 
> These are the steps I followed:
> 
> Emerged sys-apps/iucode_tool and ran:
> 
> iucode_tool -S
> 
> which spewed out the CPU signature as:  0x00040661
> 
> Then I emerged intel-microcode with USE=split-ucode, to generate the
> microcode binaries the kernel can use directly.  Saving and searching
> through the output of the emerge compilation I found this snippet:
> 
>  intel-ucode/06-46-01
>  signature: 0x40661     <===<
>  flags:     0x32
>  revision:  0x16
>  date:      2016-04-01
>  size:      24576
> 
> Previously in a rush, I got confused when I compared the hex notation of
> the CPU signature with 0x000 in front of it, with the above.  Thereafter
> I added 'intel-ucode/06-46-01' in the kernel, like so:
> 
> Device Drivers  --->
>   Generic Driver Options  --->
>     [*]   Include in-kernel firmware blobs in kernel binary
>     (intel-ucode/06-46-01 <other_CPU_firmware_follows_here>) External
> firmware blobs to build into the kernel binary
>     (/lib/firmware/) Firmware blobs root directory
> 
> The intel-ucode needs to be loaded early at the start of the boot process,
> so I put it first and comma separated the rest of the CPU firmware blobs.

Mine are all space separated.

>  I now get an output which clearly states "microcode updated early".

The first line of dmesg says so here now, for the first core, then 50 ms later 
the other cores follow suit.

> I posted this in case it helps others too.

And I'm grateful. I hadn't got round to tweaking CPU microcode, but seeing 
your post I thought it would be a good idea.

-- 
Regards
Peter


Reply via email to