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)
Notes
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