Index: head/sysutils/devcpu-data/Makefile =================================================================== --- head/sysutils/devcpu-data/Makefile +++ head/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_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 Index: head/sysutils/devcpu-data/pkg-message =================================================================== --- head/sysutils/devcpu-data/pkg-message +++ head/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 Index: head/sysutils/devcpu-data/pkg-plist =================================================================== --- head/sysutils/devcpu-data/pkg-plist +++ head/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