Gentoo Archives: gentoo-user

From: Corbin Bird <corbinbird@×××××××.net>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] which microcode gets loaded?
Date: Mon, 14 May 2018 14:48:04
Message-Id: 3555d958-439f-7b24-cf6f-74cbfa887451@charter.net
In Reply to: [gentoo-user] which microcode gets loaded? by tuxic@posteo.de
1 On 05/13/2018 10:39 PM, tuxic@××××××.de wrote:
2
3 > Hi,
4 >
5 > from a previous thread I learned which micorcode file needs
6 > to be loaded for the "fight against Spectre and Melddown"...
7 >
8 > Now two question came up for me:
9 > 1.) WIth this particular micorcode loaded: Do I need to activate
10 > the Spectre/Meldtown fix in the kernel itsself?
11 > 2.) Which microcode file gets loaded?
12 >
13 > cat /proc/cpuinfo (from one of the six cores):
14 > processor : 4
15 > vendor_id : AuthenticAMD
16 > cpu family : 16
17 > model : 10
18 > model name : AMD Phenom(tm) II X6 1090T Processor
19 > stepping : 0
20 > microcode : 0x10000bf
21 > cpu MHz : 1755.530
22 > cache size : 512 KB
23 > physical id : 0
24 > siblings : 6
25 > core id : 4
26 > cpu cores : 6
27 > apicid : 4
28 > initial apicid : 4
29 > fpu : yes
30 > fpu_exception : yes
31 > cpuid level : 6
32 > wp : yes
33 > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt cpb hw_pstate vmmcall npt lbrv svm_lock nrip_save pausefilter
34 > bugs : tlb_mmatch apic_c1e fxsave_leak sysret_ss_attrs null_seg amd_e400 spectre_v1 spectre_v2
35 > bogomips : 7224.41
36 > TLB size : 1024 4K pages
37 > clflush size : 64
38 > cache_alignment : 64
39 > address sizes : 48 bits physical, 48 bits virtual
40 > power management: ts ttp tm stc 100mhzsteps hwpstate cpb
41 >
42 >
43 > from dmesg (microcode-related lines):
44 > [ 1.517265] microcode: CPU0: patch_level=0x010000bf
45 > [ 1.517367] microcode: CPU1: patch_level=0x010000bf
46 > [ 1.517450] microcode: CPU2: patch_level=0x010000bf
47 > [ 1.517538] microcode: CPU3: patch_level=0x010000bf
48 > [ 1.517628] microcode: CPU4: patch_level=0x010000bf
49 > [ 1.517716] microcode: CPU5: patch_level=0x010000bf
50 > [ 1.517824] microcode: Microcode Update Driver: v2.2.
51 >
52 > from linux-firmware (related lines):
53 > /lib/firmware/amd-ucode/microcode_amd.bin
54 > /lib/firmware/amd-ucode/microcode_amd_fam15h.bin
55 > /lib/firmware/amd-ucode/microcode_amd.bin.asc
56 > /lib/firmware/amd-ucode/microcode_amd_fam16h.bin ***
57 > /lib/firmware/amd-ucode/microcode_amd_fam17h.bin
58 > /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc ***
59 > /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc
60 >
61 > (***) I think, these microcodes do I need...
62 >
63 > Thanks for any help in advance!
64 > Cheers
65 > Meino
66 >
67 >
68 >
69 >
70 >
71 .
72
73 No Spectre/Meltdown fixes in these files, apparently.
74
75 Simple experiment(s) to confirm the ucode file to use : ( repetitive, but simple )
76
77 Build a kernel with NO ucode, boot, note the patch_level.
78 Build a kernel with microcode_amd.bin ucode ONLY, boot, note the patch_level.
79 Build a kernel with microcode_amd_fam15h ucode ONLY, boot, note the patch_level.
80 Build a kernel with microcode_amd_fam16h ucode ONLY, boot, note the patch_level.
81 Build a kernel with microcode_amd_fam17h ucode ONLY, boot, note the patch_level.
82
83 Results :
84 When I did this on a Phenom II 980 x4, the only time the patch level changed was with "microcode_amd.bin" ucode. 
85 When I do this on a FX-9590, the only time the patch level changes is when "microcode_amd_fam15h.bin" ucode is used.
86
87 Corbin

Replies

Subject Author
Re: [gentoo-user] which microcode gets loaded? Rich Freeman <rich0@g.o>