freebsd-ports/sysutils/devcpu-data/pkg-message
Mark Johnston 8eb2352e21 sysutils/devcpu-data: Provide a file for loading Intel updates at boot
Extend the port so that users may easily apply microcode updates using
the method implemented in src r337715.  For now, this just consists of
providing all Intel microcode update files concatenated together as a
single blob in /boot/firmware.

Approved by:	sbruno
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D16924
2018-08-28 21:51:59 +00:00

40 lines
1.7 KiB
Text

Installing this port will allow host startup to update the CPU microcode on
a FreeBSD system automatically. There are two methods for updating CPU
microcode: the first methods loads and applies the update before the kernel
begins booting, and the second method loads and applies updates using an
rc script. The first method is preferred, but is currently only supported
on Intel i386 and amd64 processors running FreeBSD 12.0. It is safe to
enable both methods.
The first method ensures that any CPU features introduced by a microcode
update are visible to the kernel. In other words, the update is loaded
before the kernel performs CPU feature detection.
To enable updates using the first method, add the following lines to
the system's /boot/loader.conf:
cpu_microcode_load="YES"
cpu_microcode_name="/boot/firmware/intel-ucode.bin"
This method will not load the microcode update until the system is
rebooted.
To enable updates using the second method, add the following line to
the system's /etc/rc.conf:
microcode_update_enable="YES"
Then, to ensure the update is applied, reboot the system or start the
microcode update service via:
# service microcode_update start
If the CPU requires a microcode update, a console message such as the following
will appear:
Updating CPU Microcode...
/usr/local/share/cpucontrol/m32306c3_00000022.fw: updating cpu /dev/cpuctl0 from rev 0x17 to rev 0x22... done.
/usr/local/share/cpucontrol/m32306c3_00000022.fw: updating cpu /dev/cpuctl2 from rev 0x17 to rev 0x22... done.
/usr/local/share/cpucontrol/m32306c3_00000022.fw: updating cpu /dev/cpuctl4 from rev 0x17 to rev 0x22... done.
/usr/local/share/cpucontrol/m32306c3_00000022.fw: updating cpu /dev/cpuctl6 from rev 0x17 to rev 0x22... done.
Done.