On 04/30/2016 09:53 AM, Mick wrote:
> On Saturday 30 Apr 2016 08:50:55 Alec Ten Harmsel wrote:
>> On Sat, Apr 30, 2016 at 09:29:08AM +0100, Neil Bothwick wrote:
>>> On Sat, 30 Apr 2016 09:07:29 +0100, Mick wrote:
>>>> I seem to have mislaid my microcode somewhere, in the latest stable
>>>> gentoo kernel:
>>>>
>>>> # grep -i MICROCODE .config
>>>> #
>>>
>>> Grepping .config is unreliable, and always has been.
>>
>> I usually use something like:
>>
>>     grep MICROCODE $(find . -name Kconfig)
>>
>> Alec
> 
> # grep -i MICROCODE /boot/config-4.4.6-gentoo 
> # 
> # grep -i MICROCODE .config 
> # 
> # grep MICROCODE $(find . -name Kconfig)
> ./arch/x86/Kconfig:config MICROCODE
> ./arch/x86/Kconfig:config MICROCODE_INTEL
> ./arch/x86/Kconfig:     depends on MICROCODE
> ./arch/x86/Kconfig:     default MICROCODE
> ./arch/x86/Kconfig:config MICROCODE_AMD
> ./arch/x86/Kconfig:     depends on MICROCODE
> ./arch/x86/Kconfig:config MICROCODE_OLD_INTERFACE
> ./arch/x86/Kconfig:     depends on MICROCODE
> # 
> 
> Now you see it ... now you don't!  I am getting really confused.  :-/
> 
> Why on this PC the MICROCODE options become available only when I enable 
> INITRD, but on other PCs such a problem does not exist?
> 

The proper way to load microcode into the kernel is now to have it be
part of an initramfs (the initramfs doesn't (I think) have to actually
do anything, just have the microcode firmware in the appropriate
location).  This is because some things in userspace (like glibc itself)
only check once for certain CPU features at startup, and newer microcode
will actually disable some of those features on some CPUs (because they
are completely broken anyway).  This means that loading the microcode
before any userspace programs run will ensure that applications like
/sbin/init won't crash just because a feature they thought they could
use suddenly disappeared.

-- 
Jonathan Callen

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to