Intel Processor Microcode Package for Linux 20180108 Release -- Updates upon 20171117 release -- IVT C0 (06-3e-04:ed) 428->42a SKL-U/Y D0 (06-4e-03:c0) ba->c2 BDW-U/Y E/F (06-3d-04:c0) 25->28 HSW-ULT Cx/Dx (06-45-01:72) 20->21 Crystalwell Cx (06-46-01:32) 17->18 BDW-H E/G (06-47-01:22) 17->1b HSX-EX E0 (06-3f-04:80) 0f->10 SKL-H/S R0 (06-5e-03:36) ba->c2 HSW Cx/Dx (06-3c-03:32) 22->23 HSX C0 (06-3f-02:6f) 3a->3b BDX-DE V0/V1 (06-56-02:10) 0f->14 BDX-DE V2 (06-56-03:10) 700000d->7000011 KBL-U/Y H0 (06-8e-09:c0) 62->80 KBL Y0 / CFL D0 (06-8e-0a:c0) 70->80 KBL-H/S B0 (06-9e-09:2a) 5e->80 CFL U0 (06-9e-0a:22) 70->80 CFL B0 (06-9e-0b:02) 72->80 SKX H0 (06-55-04:b7) 2000035->200003c GLK B0 (06-7a-01:01) 1e->22
Details
Diff Detail
- Repository
- rP FreeBSD ports repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Add pkg-message file to indicate "how" this should be implemented after installing
the package.
Add a cpucontrol -e after microcode update is complete to re-evaluate
CPU flags. (suggested by bdrewery and cem)
sysutils/devcpu-data/files/microcode_update.in | ||
---|---|---|
56–57 ↗ | (On Diff #37692) | Only head has cpucontrol -e support right now. This needs to check for support first. You can grab the osreldate like this: osreldate=$(awk '$1 == "#define" && $2 == "__FreeBSD_version" {print $3}' /usr/include/osreldate.h) if [ $osreldate -ge 1200055 ]; then # cpucontrol -e check here fi |
sysutils/devcpu-data/pkg-message | ||
7 ↗ | (On Diff #37692) | This isn't right, a reboot is not required. It simply would validate that the rc script works. |
sysutils/devcpu-data/files/microcode_update.in | ||
---|---|---|
56 ↗ | (On Diff #37692) | And mentioned on IRC by others this needs to be after the loop. |
Make "cpucontrol -e" rescan of CPU flags conditional on updating ALL CPUS in the
host system. (gtetlow)
Clarify pkg-message to indicate one does not need to reboot to install the microcode
update. (bdrewery)
It is more than sufficient to check for a non-zero return code from cpucontrol
using -e.
sysutils/devcpu-data/files/microcode_update.in | ||
---|---|---|
65 ↗ | (On Diff #37699) | My reading of the code is that -- since all the CPUs must have identical features -- the re-evaluate code updates a single global variable. In that case, this doesn't need to be done for every CPU, it only needs to be done once. |
sysutils/devcpu-data/pkg-message | ||
15 ↗ | (On Diff #37699) | This output is changed by this proposed diff; please regenerate the sample output using the actual final script. |
21 ↗ | (On Diff #37699) | The cpus list generated by jot does not skip logical CPUs, and all the logical CPUs have device nodes, so why are only the even numbers listed here? |
sysutils/devcpu-data/pkg-message | ||
---|---|---|
21 ↗ | (On Diff #37699) | This one confused me too. We update "cpu 0" then when checking "cpu1" its already been updated (hyperthreaded CPUS). |
sysutils/devcpu-data/pkg-message | ||
---|---|---|
21 ↗ | (On Diff #37699) | I figured it was something like that, but in that case I would have expected some sort of output about the fact that the odd-numbered (HT) CPUs have already been updated. But that might be better be done as changes to cpuctl(4) or cpucontrol(8). |