1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-30 05:40:06 +00:00

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
This commit is contained in:
Mark Johnston 2018-08-28 21:51:59 +00:00
parent c237fd3384
commit 8eb2352e21
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=478330
3 changed files with 30 additions and 5 deletions

View File

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= data
PORTVERSION= 1.19
PORTVERSION= 1.20
CATEGORIES= sysutils
MASTER_SITES= https://downloadmirror.intel.com/28039/eng/:intel \
LOCAL/sbruno:amd
@ -23,11 +23,13 @@ NO_ARCH= yes
NO_WRKSUBDIR= yes
DATADIR= ${PREFIX}/share/cpucontrol
FWDIR= /boot/firmware
USE_RC_SUBR= microcode_update
post-extract:
${CP} -p ${FILESDIR}/Makefile ${FILESDIR}/ucode-split.c ${WRKSRC}
${CAT} ${WRKSRC}/intel-ucode/* ${WRKSRC}/intel-ucode-with-caveats/* > ${WRKSRC}/intel-ucode.bin
do-install:
${MKDIR} ${STAGEDIR}${DATADIR}/
@ -36,5 +38,7 @@ do-install:
${INSTALL_DATA} ${WRKSRC}/microcode_amd_fam16h.bin ${STAGEDIR}${DATADIR}/
${INSTALL_DATA} ${WRKSRC}/microcode_amd_fam17h.bin ${STAGEDIR}${DATADIR}/
${INSTALL_DATA} ${WRKSRC}/mcodes/* ${STAGEDIR}${DATADIR}/
${MKDIR} ${STAGEDIR}${FWDIR}
${INSTALL_DATA} ${WRKSRC}/intel-ucode.bin ${STAGEDIR}${FWDIR}/
.include <bsd.port.mk>

View File

@ -1,11 +1,31 @@
Installing this port will allow host startup to update the CPU microcode on
a FreeBSD system automatically. In order to enable this feature, add the
following to the system's /etc/rc.conf:
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"
To ensure the update is applied, reboot the system or start the microcode update
service via:
Then, to ensure the update is applied, reboot the system or start the
microcode update service via:
# service microcode_update start

View File

@ -172,3 +172,4 @@
%%DATADIR%%/microcode_amd_fam15h.bin
%%DATADIR%%/microcode_amd_fam16h.bin
%%DATADIR%%/microcode_amd_fam17h.bin
/boot/firmware/intel-ucode.bin