Page MenuHomeFreeBSD

D16924.id47358.diff
No OneTemporary

D16924.id47358.diff

Index: sysutils/devcpu-data/Makefile
===================================================================
--- sysutils/devcpu-data/Makefile
+++ sysutils/devcpu-data/Makefile
@@ -23,11 +23,13 @@
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 @@
${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>
Index: sysutils/devcpu-data/pkg-message
===================================================================
--- sysutils/devcpu-data/pkg-message
+++ sysutils/devcpu-data/pkg-message
@@ -1,11 +1,33 @@
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. The first method also
+ensures that microcode updates are automatically re-applied following a
+resume from a ACPI sleep state.
+
+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
Index: sysutils/devcpu-data/pkg-plist
===================================================================
--- sysutils/devcpu-data/pkg-plist
+++ 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

File Metadata

Mime Type
text/plain
Expires
Thu, Apr 2, 2:35 AM (6 h, 28 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30699869
Default Alt Text
D16924.id47358.diff (2 KB)

Event Timeline