1 |
On Saturday 30 Apr 2016 10:05:40 Jonathan Callen wrote: |
2 |
> On 04/30/2016 09:53 AM, Mick wrote: |
3 |
> > On Saturday 30 Apr 2016 08:50:55 Alec Ten Harmsel wrote: |
4 |
> >> On Sat, Apr 30, 2016 at 09:29:08AM +0100, Neil Bothwick wrote: |
5 |
> >>> On Sat, 30 Apr 2016 09:07:29 +0100, Mick wrote: |
6 |
> >>>> I seem to have mislaid my microcode somewhere, in the latest stable |
7 |
> >>>> gentoo kernel: |
8 |
> >>>> |
9 |
> >>>> # grep -i MICROCODE .config |
10 |
> >>>> # |
11 |
> >>> |
12 |
> >>> Grepping .config is unreliable, and always has been. |
13 |
> >> |
14 |
> >> I usually use something like: |
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 |
> The proper way to load microcode into the kernel is now to have it be |
40 |
> part of an initramfs (the initramfs doesn't (I think) have to actually |
41 |
> do anything, just have the microcode firmware in the appropriate |
42 |
> location). This is because some things in userspace (like glibc itself) |
43 |
> only check once for certain CPU features at startup, and newer microcode |
44 |
> will actually disable some of those features on some CPUs (because they |
45 |
> are completely broken anyway). This means that loading the microcode |
46 |
> before any userspace programs run will ensure that applications like |
47 |
> /sbin/init won't crash just because a feature they thought they could |
48 |
> use suddenly disappeared. |
49 |
|
50 |
Thanks Jonathan for your explanation. I noticed another machine that loaded |
51 |
the MICROCODE as expected, had initrd enabled in the kernel although not used |
52 |
for anything else. I will enable it on this PC too and get on with the next |
53 |
job. |
54 |
-- |
55 |
Regards, |
56 |
Mick |