Microcode

From dankwiki
Jump to navigation Jump to search

Processors and devices often have some kind of firmware/microcode blob that needs be uploaded when they start. Oftentimes, these carry important security and functionality fixes. As usual, Arch has a good page.

Intel x86 microcode

On Debian, iucode-tool manipulates microcode packages, and (from non-free) intel-microcode provides the actual firmware blobs for packaging into an initramfs.

On my Intel 6950X, using the 3.20180807a.2 version of intel-microcode, we see:

[schwarzgerat](0) $ dmesg | grep microcode
[    0.000000] microcode: microcode updated early to revision 0xb00002e, date = 2018-04-19
[    3.116927] microcode: sig=0x406f1, pf=0x4, revision=0xb00002e
[    3.118406] microcode: Microcode Update Driver: v2.2.
[schwarzgerat](0) $ sudo iucode_tool -S -L
iucode_tool: system has processor(s) with signature 0x000406f1
[schwarzgerat](0) $ grep microcode /proc/cpuinfo 
microcode	: 0xb00002e           (20 times)
[schwarzgerat](0) $ 

Version 3.20190312.1 came out. Let's look for signature 0x000406f1 (from iucode-tool output above) among the firmwares:

[schwarzgerat](0) $ iucode-tool -L /lib/firmware/intel-ucode/0* | grep 406f1
  037/001: sig 0x000406f1, pf_mask 0xef, 2018-04-19, rev 0xb00002e, size 28672
[schwarzgerat](0) $ 

The applicable microcode is still revision 0xb00002e from 2018-04-19, which I'm already running, so there's no need to reboot.

AMD64 microcode

On Debian, the amd64-microcode package provides firmware for AMD64 processors.