aboutsummaryrefslogtreecommitdiff
path: root/sysutils/devcpu-data
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2018-08-28 21:51:59 +0000
committerMark Johnston <markj@FreeBSD.org>2018-08-28 21:51:59 +0000
commit8eb2352e2177e92735976f76cb7353fc3f44e082 (patch)
tree7b604544df08ef6f5dd372a4e52ab98e6c5365ac /sysutils/devcpu-data
parentc237fd3384719903c314280cd407091cf2c9e8ba (diff)
downloadports-8eb2352e2177e92735976f76cb7353fc3f44e082.tar.gz
ports-8eb2352e2177e92735976f76cb7353fc3f44e082.zip
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
Notes
Notes: svn path=/head/; revision=478330
Diffstat (limited to 'sysutils/devcpu-data')
-rw-r--r--sysutils/devcpu-data/Makefile6
-rw-r--r--sysutils/devcpu-data/pkg-message28
-rw-r--r--sysutils/devcpu-data/pkg-plist1
3 files changed, 30 insertions, 5 deletions
diff --git a/sysutils/devcpu-data/Makefile b/sysutils/devcpu-data/Makefile
index 069034da8115..035751964878 100644
--- a/sysutils/devcpu-data/Makefile
+++ b/sysutils/devcpu-data/Makefile
@@ -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>
diff --git a/sysutils/devcpu-data/pkg-message b/sysutils/devcpu-data/pkg-message
index c93460f70949..e896ac222ec1 100644
--- a/sysutils/devcpu-data/pkg-message
+++ b/sysutils/devcpu-data/pkg-message
@@ -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
diff --git a/sysutils/devcpu-data/pkg-plist b/sysutils/devcpu-data/pkg-plist
index e9df6410f1f2..4aac1101dd93 100644
--- a/sysutils/devcpu-data/pkg-plist
+++ b/sysutils/devcpu-data/pkg-plist
@@ -172,3 +172,4 @@
%%DATADIR%%/microcode_amd_fam15h.bin
%%DATADIR%%/microcode_amd_fam16h.bin
%%DATADIR%%/microcode_amd_fam17h.bin
+/boot/firmware/intel-ucode.bin