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
signature.asc
Description: OpenPGP digital signature