1 |
On 04/30/2016 09:53 AM, Mick wrote: |
2 |
> On Saturday 30 Apr 2016 08:50:55 Alec Ten Harmsel wrote: |
3 |
>> On Sat, Apr 30, 2016 at 09:29:08AM +0100, Neil Bothwick wrote: |
4 |
>>> On Sat, 30 Apr 2016 09:07:29 +0100, Mick wrote: |
5 |
>>>> I seem to have mislaid my microcode somewhere, in the latest stable |
6 |
>>>> gentoo kernel: |
7 |
>>>> |
8 |
>>>> # grep -i MICROCODE .config |
9 |
>>>> # |
10 |
>>> |
11 |
>>> Grepping .config is unreliable, and always has been. |
12 |
>> |
13 |
>> I usually use something like: |
14 |
>> |
15 |
>> grep MICROCODE $(find . -name Kconfig) |
16 |
>> |
17 |
>> Alec |
18 |
> |
19 |
> # grep -i MICROCODE /boot/config-4.4.6-gentoo |
20 |
> # |
21 |
> # grep -i MICROCODE .config |
22 |
> # |
23 |
> # grep MICROCODE $(find . -name Kconfig) |
24 |
> ./arch/x86/Kconfig:config MICROCODE |
25 |
> ./arch/x86/Kconfig:config MICROCODE_INTEL |
26 |
> ./arch/x86/Kconfig: depends on MICROCODE |
27 |
> ./arch/x86/Kconfig: default MICROCODE |
28 |
> ./arch/x86/Kconfig:config MICROCODE_AMD |
29 |
> ./arch/x86/Kconfig: depends on MICROCODE |
30 |
> ./arch/x86/Kconfig:config MICROCODE_OLD_INTERFACE |
31 |
> ./arch/x86/Kconfig: depends on MICROCODE |
32 |
> # |
33 |
> |
34 |
> Now you see it ... now you don't! I am getting really confused. :-/ |
35 |
> |
36 |
> Why on this PC the MICROCODE options become available only when I enable |
37 |
> INITRD, but on other PCs such a problem does not exist? |
38 |
> |
39 |
|
40 |
The proper way to load microcode into the kernel is now to have it be |
41 |
part of an initramfs (the initramfs doesn't (I think) have to actually |
42 |
do anything, just have the microcode firmware in the appropriate |
43 |
location). This is because some things in userspace (like glibc itself) |
44 |
only check once for certain CPU features at startup, and newer microcode |
45 |
will actually disable some of those features on some CPUs (because they |
46 |
are completely broken anyway). This means that loading the microcode |
47 |
before any userspace programs run will ensure that applications like |
48 |
/sbin/init won't crash just because a feature they thought they could |
49 |
use suddenly disappeared. |
50 |
|
51 |
-- |
52 |
Jonathan Callen |