Index: head/sysutils/devcpu-data/Makefile =================================================================== --- head/sysutils/devcpu-data/Makefile (revision 478329) +++ head/sysutils/devcpu-data/Makefile (revision 478330) @@ -1,40 +1,44 @@ # Created by: stas # $FreeBSD$ PORTNAME= data -PORTVERSION= 1.19 +PORTVERSION= 1.20 CATEGORIES= sysutils MASTER_SITES= https://downloadmirror.intel.com/28039/eng/:intel \ LOCAL/sbruno:amd PKGNAMEPREFIX= devcpu- DISTFILES= microcode-20180807.tgz:intel \ amd64-microcode.20180525.tar.xz:amd MAINTAINER= sbruno@FreeBSD.org COMMENT= Intel and AMD CPUs microcode updates LICENSE= EULA LICENSE_NAME= Intel Software License Agreement LICENSE_FILE= ${FILESDIR}/LICENSE LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept ONLY_FOR_ARCHS= amd64 i386 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}/ ${INSTALL_DATA} ${WRKSRC}/microcode_amd.bin ${STAGEDIR}${DATADIR}/ ${INSTALL_DATA} ${WRKSRC}/microcode_amd_fam15h.bin ${STAGEDIR}${DATADIR}/ ${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 (revision 478329) +++ head/sysutils/devcpu-data/pkg-message (revision 478330) @@ -1,20 +1,40 @@ 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 If the CPU requires a microcode update, a console message such as the following will appear: Updating CPU Microcode... /usr/local/share/cpucontrol/m32306c3_00000022.fw: updating cpu /dev/cpuctl0 from rev 0x17 to rev 0x22... done. /usr/local/share/cpucontrol/m32306c3_00000022.fw: updating cpu /dev/cpuctl2 from rev 0x17 to rev 0x22... done. /usr/local/share/cpucontrol/m32306c3_00000022.fw: updating cpu /dev/cpuctl4 from rev 0x17 to rev 0x22... done. /usr/local/share/cpucontrol/m32306c3_00000022.fw: updating cpu /dev/cpuctl6 from rev 0x17 to rev 0x22... done. Done. Index: head/sysutils/devcpu-data/pkg-plist =================================================================== --- head/sysutils/devcpu-data/pkg-plist (revision 478329) +++ head/sysutils/devcpu-data/pkg-plist (revision 478330) @@ -1,174 +1,175 @@ %%DATADIR%%/06-03-02.00 %%DATADIR%%/06-05-00.01 %%DATADIR%%/06-05-00.02 %%DATADIR%%/06-05-00.08 %%DATADIR%%/06-05-01.01 %%DATADIR%%/06-05-02.01 %%DATADIR%%/06-05-02.02 %%DATADIR%%/06-05-02.04 %%DATADIR%%/06-05-03.01 %%DATADIR%%/06-05-03.02 %%DATADIR%%/06-05-03.04 %%DATADIR%%/06-05-03.08 %%DATADIR%%/06-06-00.01 %%DATADIR%%/06-06-05.10 %%DATADIR%%/06-06-0a.02 %%DATADIR%%/06-06-0a.08 %%DATADIR%%/06-06-0a.20 %%DATADIR%%/06-06-0d.02 %%DATADIR%%/06-06-0d.08 %%DATADIR%%/06-06-0d.20 %%DATADIR%%/06-07-01.04 %%DATADIR%%/06-07-02.04 %%DATADIR%%/06-07-03.04 %%DATADIR%%/06-08-01.01 %%DATADIR%%/06-08-01.04 %%DATADIR%%/06-08-01.08 %%DATADIR%%/06-08-01.10 %%DATADIR%%/06-08-01.20 %%DATADIR%%/06-08-03.08 %%DATADIR%%/06-08-03.20 %%DATADIR%%/06-08-06.01 %%DATADIR%%/06-08-06.02 %%DATADIR%%/06-08-06.04 %%DATADIR%%/06-08-06.10 %%DATADIR%%/06-08-06.80 %%DATADIR%%/06-08-0a.10 %%DATADIR%%/06-08-0a.20 %%DATADIR%%/06-08-0a.80 %%DATADIR%%/06-09-05.10 %%DATADIR%%/06-09-05.20 %%DATADIR%%/06-09-05.80 %%DATADIR%%/06-0a-00.04 %%DATADIR%%/06-0a-01.04 %%DATADIR%%/06-0b-01.10 %%DATADIR%%/06-0b-01.20 %%DATADIR%%/06-0b-04.10 %%DATADIR%%/06-0b-04.20 %%DATADIR%%/06-0d-06.20 %%DATADIR%%/06-0e-08.20 %%DATADIR%%/06-0e-0c.20 %%DATADIR%%/06-0e-0c.80 %%DATADIR%%/06-0f-02.01 %%DATADIR%%/06-0f-02.20 %%DATADIR%%/06-0f-06.01 %%DATADIR%%/06-0f-06.04 %%DATADIR%%/06-0f-06.20 %%DATADIR%%/06-0f-07.10 %%DATADIR%%/06-0f-07.40 %%DATADIR%%/06-0f-0a.80 %%DATADIR%%/06-0f-0b.01 %%DATADIR%%/06-0f-0b.04 %%DATADIR%%/06-0f-0b.08 %%DATADIR%%/06-0f-0b.10 %%DATADIR%%/06-0f-0b.20 %%DATADIR%%/06-0f-0b.40 %%DATADIR%%/06-0f-0b.80 %%DATADIR%%/06-0f-0d.01 %%DATADIR%%/06-0f-0d.20 %%DATADIR%%/06-0f-0d.80 %%DATADIR%%/06-16-01.01 %%DATADIR%%/06-16-01.02 %%DATADIR%%/06-16-01.80 %%DATADIR%%/06-17-06.01 %%DATADIR%%/06-17-06.04 %%DATADIR%%/06-17-06.10 %%DATADIR%%/06-17-06.40 %%DATADIR%%/06-17-06.80 %%DATADIR%%/06-17-07.10 %%DATADIR%%/06-17-0a.11 %%DATADIR%%/06-17-0a.44 %%DATADIR%%/06-17-0a.a0 %%DATADIR%%/06-1a-04.03 %%DATADIR%%/06-1a-05.03 %%DATADIR%%/06-1c-02.01 %%DATADIR%%/06-1c-02.04 %%DATADIR%%/06-1c-02.08 %%DATADIR%%/06-1c-0a.01 %%DATADIR%%/06-1c-0a.04 %%DATADIR%%/06-1c-0a.08 %%DATADIR%%/06-1c-0a.10 %%DATADIR%%/06-1d-01.08 %%DATADIR%%/06-1e-05.13 %%DATADIR%%/06-25-02.12 %%DATADIR%%/06-25-05.92 %%DATADIR%%/06-26-01.01 %%DATADIR%%/06-26-01.02 %%DATADIR%%/06-2a-07.12 %%DATADIR%%/06-2c-02.03 %%DATADIR%%/06-2d-06.6d %%DATADIR%%/06-2d-07.6d %%DATADIR%%/06-2e-06.04 %%DATADIR%%/06-2f-02.05 %%DATADIR%%/06-3a-09.12 %%DATADIR%%/06-3c-03.32 %%DATADIR%%/06-3d-04.c0 %%DATADIR%%/06-3e-04.ed %%DATADIR%%/06-3e-06.ed %%DATADIR%%/06-3e-07.ed %%DATADIR%%/06-3f-02.6f %%DATADIR%%/06-3f-04.80 %%DATADIR%%/06-45-01.72 %%DATADIR%%/06-46-01.32 %%DATADIR%%/06-47-01.22 %%DATADIR%%/06-4e-03.c0 %%DATADIR%%/06-55-03.97 %%DATADIR%%/06-55-04.b7 %%DATADIR%%/06-56-02.10 %%DATADIR%%/06-56-03.10 %%DATADIR%%/06-56-04.10 %%DATADIR%%/06-56-05.10 %%DATADIR%%/06-5c-02.01 %%DATADIR%%/06-5c-09.03 %%DATADIR%%/06-5c-0a.03 %%DATADIR%%/06-5e-03.36 %%DATADIR%%/06-5f-01.01 %%DATADIR%%/06-7a-01.01 %%DATADIR%%/06-8e-09.c0 %%DATADIR%%/06-8e-0a.c0 %%DATADIR%%/06-9e-09.2a %%DATADIR%%/06-9e-0a.22 %%DATADIR%%/06-9e-0b.02 %%DATADIR%%/0f-00-07.01 %%DATADIR%%/0f-00-07.02 %%DATADIR%%/0f-00-0a.01 %%DATADIR%%/0f-00-0a.02 %%DATADIR%%/0f-00-0a.04 %%DATADIR%%/0f-01-02.04 %%DATADIR%%/0f-02-04.02 %%DATADIR%%/0f-02-04.04 %%DATADIR%%/0f-02-04.10 %%DATADIR%%/0f-02-05.01 %%DATADIR%%/0f-02-05.02 %%DATADIR%%/0f-02-05.04 %%DATADIR%%/0f-02-05.10 %%DATADIR%%/0f-02-06.02 %%DATADIR%%/0f-02-07.02 %%DATADIR%%/0f-02-07.04 %%DATADIR%%/0f-02-07.08 %%DATADIR%%/0f-02-09.02 %%DATADIR%%/0f-02-09.04 %%DATADIR%%/0f-02-09.08 %%DATADIR%%/0f-03-02.0d %%DATADIR%%/0f-03-03.0d %%DATADIR%%/0f-03-04.1d %%DATADIR%%/0f-04-01.02 %%DATADIR%%/0f-04-01.bd %%DATADIR%%/0f-04-03.9d %%DATADIR%%/0f-04-04.9d %%DATADIR%%/0f-04-07.9d %%DATADIR%%/0f-04-08.01 %%DATADIR%%/0f-04-08.02 %%DATADIR%%/0f-04-08.5f %%DATADIR%%/0f-04-09.bd %%DATADIR%%/0f-04-0a.5c %%DATADIR%%/0f-04-0a.5d %%DATADIR%%/0f-06-02.04 %%DATADIR%%/0f-06-04.01 %%DATADIR%%/0f-06-04.34 %%DATADIR%%/0f-06-05.01 %%DATADIR%%/0f-06-08.22 %%DATADIR%%/microcode_amd.bin %%DATADIR%%/microcode_amd_fam15h.bin %%DATADIR%%/microcode_amd_fam16h.bin %%DATADIR%%/microcode_amd_fam17h.bin +/boot/firmware/intel-ucode.bin