git: 813905682ec4 - main - sysutils/devcpu-data: Split off two new ports for vendor data
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 07 Nov 2021 21:18:53 UTC
The branch main has been updated by jrm: URL: https://cgit.FreeBSD.org/ports/commit/?id=813905682ec40c3323f0cb0b5dc86bb21bbf2f0d commit 813905682ec40c3323f0cb0b5dc86bb21bbf2f0d Author: Joseph Mingrone <jrm@FreeBSD.org> AuthorDate: 2021-10-06 21:23:53 +0000 Commit: Joseph Mingrone <jrm@FreeBSD.org> CommitDate: 2021-11-07 21:17:03 +0000 sysutils/devcpu-data: Split off two new ports for vendor data sysutils/devcpu-data is now just an RC script that optionally depends on two new ports, sysutils/devcpu-data-amd and sysutils/devcpu-data-intel. The two new ports each contain vendor microcode data. While here: - Set missing license information. The license was obtained from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/LICENSE.amd-ucode - Update varaible ordering per portclippy Reviewed by: decke, emaste, markj Approved by: sbruno (maintainer) Differential Revision: https://reviews.freebsd.org/D32349 --- sysutils/Makefile | 2 + sysutils/devcpu-data-amd/Makefile | 35 ++++++++++++ sysutils/devcpu-data-amd/distinfo | 3 + sysutils/devcpu-data-amd/files/LICENSE.amd-ucode | 64 ++++++++++++++++++++++ sysutils/devcpu-data-amd/pkg-descr | 2 + sysutils/devcpu-data-amd/pkg-message | 7 +++ sysutils/devcpu-data-amd/pkg-plist | 4 ++ sysutils/devcpu-data-intel/Makefile | 41 ++++++++++++++ sysutils/devcpu-data-intel/distinfo | 3 + .../files/LICENSE | 0 .../files/Makefile | 0 .../files/ucode-split.c | 0 sysutils/devcpu-data-intel/pkg-descr | 9 +++ sysutils/devcpu-data-intel/pkg-message | 7 +++ .../{devcpu-data => devcpu-data-intel}/pkg-plist | 4 -- sysutils/devcpu-data/Makefile | 51 +++++++---------- sysutils/devcpu-data/distinfo | 5 -- sysutils/devcpu-data/files/microcode_update.in | 20 +++++-- sysutils/devcpu-data/files/pkg-message.in | 46 ++++++++++++++++ sysutils/devcpu-data/pkg-descr | 6 +- sysutils/devcpu-data/pkg-message | 46 ---------------- 21 files changed, 262 insertions(+), 93 deletions(-) diff --git a/sysutils/Makefile b/sysutils/Makefile index 381a02c0b427..15ea58885094 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -255,6 +255,8 @@ SUBDIR += desktop-installer SUBDIR += detox SUBDIR += devcpu-data + SUBDIR += devcpu-data-amd + SUBDIR += devcpu-data-intel SUBDIR += devstat SUBDIR += dfc SUBDIR += di diff --git a/sysutils/devcpu-data-amd/Makefile b/sysutils/devcpu-data-amd/Makefile new file mode 100644 index 000000000000..834370e9545c --- /dev/null +++ b/sysutils/devcpu-data-amd/Makefile @@ -0,0 +1,35 @@ +PORTNAME= data +PORTVERSION= 20191228 +CATEGORIES= sysutils +MASTER_SITES= LOCAL/sbruno +PKGNAMEPREFIX= devcpu- +PKGNAMESUFFIX= -amd +DISTNAME= amd64-microcode.${PORTVERSION} + +MAINTAINER= sbruno@FreeBSD.org +COMMENT= AMD CPUs microcode updates + +LICENSE= EULA +LICENSE_NAME= Advanced Micro Devices License Agreement +LICENSE_FILE= ${FILESDIR}/LICENSE.amd-ucode +LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept + +ONLY_FOR_ARCHS= amd64 i386 + +USES= tar:xz + +NO_ARCH= yes +NO_BUILD= yes + +NO_WRKSUBDIR= yes + +DATADIR= ${PREFIX}/share/cpucontrol + +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}/ + +.include <bsd.port.mk> diff --git a/sysutils/devcpu-data-amd/distinfo b/sysutils/devcpu-data-amd/distinfo new file mode 100644 index 000000000000..5284697b3987 --- /dev/null +++ b/sysutils/devcpu-data-amd/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1633576196 +SHA256 (amd64-microcode.20191228.tar.xz) = 156eef8950f28436e045c1d5ac6e4738d99c07a6737d35bf966901f4b260abb3 +SIZE (amd64-microcode.20191228.tar.xz) = 28827 diff --git a/sysutils/devcpu-data-amd/files/LICENSE.amd-ucode b/sysutils/devcpu-data-amd/files/LICENSE.amd-ucode new file mode 100644 index 000000000000..de5b29c4e486 --- /dev/null +++ b/sysutils/devcpu-data-amd/files/LICENSE.amd-ucode @@ -0,0 +1,64 @@ +Copyright (C) 2010-2018 Advanced Micro Devices, Inc., All rights reserved. + +Permission is hereby granted by Advanced Micro Devices, Inc. ("AMD"), +free of any license fees, to any person obtaining a copy of this +microcode in binary form (the "Software") ("You"), to install, +reproduce, copy and distribute copies of the Software and to permit +persons to whom the Software is provided to do the same, subject to +the following terms and conditions. Your use of any portion of the +Software shall constitute Your acceptance of the following terms and +conditions. If You do not agree to the following terms and conditions, +do not use, retain or redistribute any portion of the Software. + +If You redistribute this Software, You must reproduce the above +copyright notice and this license with the Software. +Without specific, prior, written permission from AMD, You may not +reference AMD or AMD products in the promotion of any product derived +from or incorporating this Software in any manner that implies that +AMD endorses or has certified such product derived from or +incorporating this Software. + +You may not reverse engineer, decompile, or disassemble this Software +or any portion thereof. + +THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY OF ANY KIND, INCLUDING BUT NOT LIMITED TO WARRANTIES OF +MERCHANTABILITY, NONINFRINGEMENT, TITLE, FITNESS FOR ANY PARTICULAR +PURPOSE, OR WARRANTIES ARISING FROM CONDUCT, COURSE OF DEALING, OR +USAGE OF TRADE. IN NO EVENT SHALL AMD OR ITS LICENSORS BE LIABLE FOR +ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR +LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF DATA OR +INFORMATION) ARISING OUT OF AMD'S NEGLIGENCE, GROSS NEGLIGENCE, THE +USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF AMD HAS BEEN ADVISED +OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME JURISDICTIONS +PROHIBIT THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR +INCIDENTAL DAMAGES OR THE EXCLUSION OF IMPLIED WARRANTIES, THE ABOVE +LIMITATION MAY NOT APPLY TO YOU. + +Without limiting the foregoing, the Software may implement third party +technologies for which You must obtain licenses from parties other +than AMD. You agree that AMD has not obtained or conveyed to You, and +that You shall be responsible for obtaining the rights to use and/or +distribute the applicable underlying intellectual property rights +related to the third party technologies. These third party +technologies are not licensed hereunder. + +If You use the Software (in whole or in part), You shall adhere to all +applicable U.S., European, and other export laws, including but not +limited to the U.S. Export Administration Regulations ("EAR"), (15 +C.F.R. Sections 730 through 774), and E.U. Council Regulation (EC) No +1334/2000 of 22 June 2000. Further, pursuant to Section 740.6 of the +EAR, You hereby certify that, except pursuant to a license granted by +the United States Department of Commerce Bureau of Industry and +Security or as otherwise permitted pursuant to a License Exception +under the U.S. Export Administration Regulations ("EAR"), You will not +(1) export, re-export or release to a national of a country in Country +Groups D:1, E:1 or E:2 any restricted technology, software, or source +code You receive hereunder, or (2) export to Country Groups D:1, E:1 +or E:2 the direct product of such technology or software, if such +foreign produced direct product is subject to national security +controls as identified on the Commerce Control List (currently found +in Supplement 1 to Part 774 of EAR). For the most current Country +Group listings, or for additional information about the EAR or Your +obligations under those regulations, please refer to the U.S. Bureau +of Industry and Security?s website at ttp://www.bis.doc.gov/. diff --git a/sysutils/devcpu-data-amd/pkg-descr b/sysutils/devcpu-data-amd/pkg-descr new file mode 100644 index 000000000000..beb555e676c7 --- /dev/null +++ b/sysutils/devcpu-data-amd/pkg-descr @@ -0,0 +1,2 @@ +This port uses the cpuctl(4) microcode update facility to keep your AMD +processor's firmware up-to-date. diff --git a/sysutils/devcpu-data-amd/pkg-message b/sysutils/devcpu-data-amd/pkg-message new file mode 100644 index 000000000000..8d00883e6b4f --- /dev/null +++ b/sysutils/devcpu-data-amd/pkg-message @@ -0,0 +1,7 @@ +[ +{ type: install + message: <<EOM +Refer to the devcpu-data installation notes to enable AMD microcode updates. +EOM +} +] diff --git a/sysutils/devcpu-data-amd/pkg-plist b/sysutils/devcpu-data-amd/pkg-plist new file mode 100644 index 000000000000..2bf71260431b --- /dev/null +++ b/sysutils/devcpu-data-amd/pkg-plist @@ -0,0 +1,4 @@ +%%DATADIR%%/microcode_amd.bin +%%DATADIR%%/microcode_amd_fam15h.bin +%%DATADIR%%/microcode_amd_fam16h.bin +%%DATADIR%%/microcode_amd_fam17h.bin diff --git a/sysutils/devcpu-data-intel/Makefile b/sysutils/devcpu-data-intel/Makefile new file mode 100644 index 000000000000..bffaad57b547 --- /dev/null +++ b/sysutils/devcpu-data-intel/Makefile @@ -0,0 +1,41 @@ +PORTNAME= data +DISTVERSIONPREFIX= microcode- +DISTVERSION= 20210608 +CATEGORIES= sysutils +PKGNAMEPREFIX= devcpu- +PKGNAMESUFFIX= -intel + +MAINTAINER= sbruno@FreeBSD.org +COMMENT= Intel CPU 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 + +USE_GITHUB= yes +GH_ACCOUNT= intel +GH_PROJECT= Intel-Linux-Processor-Microcode-Data-Files + +DATADIR= ${PREFIX}/share/cpucontrol +FWDIR= /boot/firmware +NO_ARCH= yes + +NO_WRKSUBDIR= yes + +post-extract: + ${CP} -p ${FILESDIR}/Makefile ${FILESDIR}/ucode-split.c ${WRKSRC} + ${REINPLACE_CMD} 's|%%GH_TAGNAME%%|${GH_TAGNAME}|g' ${WRKSRC}/Makefile + ${CAT} ${WRKSRC}/Intel-Linux-Processor-Microcode-Data-Files-${GH_TAGNAME}/intel-ucode/* \ + ${WRKSRC}/Intel-Linux-Processor-Microcode-Data-Files-${GH_TAGNAME}/intel-ucode-with-caveats/* \ + > ${WRKSRC}/intel-ucode.bin + +do-install: + ${MKDIR} ${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-intel/distinfo b/sysutils/devcpu-data-intel/distinfo new file mode 100644 index 000000000000..3b4ecbb7434a --- /dev/null +++ b/sysutils/devcpu-data-intel/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1633571846 +SHA256 (intel-Intel-Linux-Processor-Microcode-Data-Files-microcode-20210608_GH0.tar.gz) = fd85b6b769efd029dec6a2c07106fd18fb4dcb548b7bc4cde09295a8344ef6d7 +SIZE (intel-Intel-Linux-Processor-Microcode-Data-Files-microcode-20210608_GH0.tar.gz) = 4782451 diff --git a/sysutils/devcpu-data/files/LICENSE b/sysutils/devcpu-data-intel/files/LICENSE similarity index 100% rename from sysutils/devcpu-data/files/LICENSE rename to sysutils/devcpu-data-intel/files/LICENSE diff --git a/sysutils/devcpu-data/files/Makefile b/sysutils/devcpu-data-intel/files/Makefile similarity index 100% rename from sysutils/devcpu-data/files/Makefile rename to sysutils/devcpu-data-intel/files/Makefile diff --git a/sysutils/devcpu-data/files/ucode-split.c b/sysutils/devcpu-data-intel/files/ucode-split.c similarity index 100% rename from sysutils/devcpu-data/files/ucode-split.c rename to sysutils/devcpu-data-intel/files/ucode-split.c diff --git a/sysutils/devcpu-data-intel/pkg-descr b/sysutils/devcpu-data-intel/pkg-descr new file mode 100644 index 000000000000..8427801bce3b --- /dev/null +++ b/sysutils/devcpu-data-intel/pkg-descr @@ -0,0 +1,9 @@ +This port uses the cpuctl(4) microcode update facility to keep your Intel +processor's firmware up-to-date. + +Updating your microcode can help to mitigate certain potential security +vulnerabilities in CPUs as well as address certain functional issues that could, +for example, result in unpredictable system behavior such as hangs, crashes, +unexpected reboots, data errors, etc. + +WWW: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files diff --git a/sysutils/devcpu-data-intel/pkg-message b/sysutils/devcpu-data-intel/pkg-message new file mode 100644 index 000000000000..3c06c67759de --- /dev/null +++ b/sysutils/devcpu-data-intel/pkg-message @@ -0,0 +1,7 @@ +[ +{ type: install + message: <<EOM +Refer to the devcpu-data installation notes to enable Intel microcode updates. +EOM +} +] diff --git a/sysutils/devcpu-data/pkg-plist b/sysutils/devcpu-data-intel/pkg-plist similarity index 97% rename from sysutils/devcpu-data/pkg-plist rename to sysutils/devcpu-data-intel/pkg-plist index ed0fa8528474..fdaf7310e4b9 100644 --- a/sysutils/devcpu-data/pkg-plist +++ b/sysutils/devcpu-data-intel/pkg-plist @@ -201,8 +201,4 @@ %%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 diff --git a/sysutils/devcpu-data/Makefile b/sysutils/devcpu-data/Makefile index 1a822c2f4ece..9a16ab166af3 100644 --- a/sysutils/devcpu-data/Makefile +++ b/sysutils/devcpu-data/Makefile @@ -1,47 +1,38 @@ # Created by: stas PORTNAME= data -PORTVERSION= 1.39 +PORTVERSION= 20211006 CATEGORIES= sysutils -MASTER_SITES= LOCAL/sbruno:amd +MASTER_SITES= # none PKGNAMEPREFIX= devcpu- -DISTFILES= amd64-microcode.20191228.tar.xz:amd +DISTFILES= # none +EXTRACT_ONLY= # none MAINTAINER= sbruno@FreeBSD.org -COMMENT= Intel and AMD CPUs microcode updates +COMMENT= AMD and Intel 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 - -USE_GITHUB= yes -GH_ACCOUNT= intel -GH_PROJECT= Intel-Linux-Processor-Microcode-Data-Files -GH_TAGNAME= microcode-20210608 +LICENSE= BSD2CLAUSE ONLY_FOR_ARCHS= amd64 i386 + +USE_RC_SUBR= microcode_update + +DATADIR= ${PREFIX}/share/cpucontrol NO_ARCH= yes +NO_BUILD= yes +NO_INSTALL= yes +SUB_FILES= pkg-message + NO_WRKSUBDIR= yes -DATADIR= ${PREFIX}/share/cpucontrol -FWDIR= /boot/firmware +OPTIONS_DEFAULT= AMD INTEL +OPTIONS_MULTI= VENDOR +OPTIONS_MULTI_VENDOR= AMD INTEL -USE_RC_SUBR= microcode_update +AMD_DESC= Depend on sysutils/devcpu-data-amd +INTEL_DESC= Depend on sysutils/devcpu-data-intel -post-extract: - ${CP} -p ${FILESDIR}/Makefile ${FILESDIR}/ucode-split.c ${WRKSRC} - ${REINPLACE_CMD} 's|%%GH_TAGNAME%%|${GH_TAGNAME}|g' ${WRKSRC}/Makefile - ${CAT} ${WRKSRC}/Intel-Linux-Processor-Microcode-Data-Files-${GH_TAGNAME}/intel-ucode/* ${WRKSRC}/Intel-Linux-Processor-Microcode-Data-Files-${GH_TAGNAME}/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}/ +AMD_RUN_DEPENDS= ${LOCALBASE}/share/cpucontrol/microcode_amd.bin:sysutils/devcpu-data-amd +INTEL_RUN_DEPENDS= /boot/firmware/intel-ucode.bin:sysutils/devcpu-data-intel .include <bsd.port.mk> diff --git a/sysutils/devcpu-data/distinfo b/sysutils/devcpu-data/distinfo deleted file mode 100644 index 06b3847dded6..000000000000 --- a/sysutils/devcpu-data/distinfo +++ /dev/null @@ -1,5 +0,0 @@ -TIMESTAMP = 1623192235 -SHA256 (amd64-microcode.20191228.tar.xz) = 156eef8950f28436e045c1d5ac6e4738d99c07a6737d35bf966901f4b260abb3 -SIZE (amd64-microcode.20191228.tar.xz) = 28827 -SHA256 (intel-Intel-Linux-Processor-Microcode-Data-Files-1.39-microcode-20210608_GH0.tar.gz) = fd85b6b769efd029dec6a2c07106fd18fb4dcb548b7bc4cde09295a8344ef6d7 -SIZE (intel-Intel-Linux-Processor-Microcode-Data-Files-1.39-microcode-20210608_GH0.tar.gz) = 4782451 diff --git a/sysutils/devcpu-data/files/microcode_update.in b/sysutils/devcpu-data/files/microcode_update.in index 005845df4f56..b06b21d6f903 100644 --- a/sysutils/devcpu-data/files/microcode_update.in +++ b/sysutils/devcpu-data/files/microcode_update.in @@ -12,7 +12,7 @@ # microcode_update_datadir (str): Directory, microcode updates stored in. # Default is "%%DATADIR%%" # microcode_update_cpus (str): A list of cpus to update on startup, or "ALL" for all. -# Example: microcode_update_cpus_cpus="0 CPU0" +# Example: microcode_update_cpus="0 1" # Set to "ALL" by default. # microcode_update_flags (str): Flags for cpucontrol(8). @@ -40,11 +40,11 @@ microcode_update_prepare() microcode_update_start() { echo "Updating CPU Microcode..." - if [ "${microcode_cpus}" = "ALL" ]; then + if [ "${microcode_update_cpus}" = "ALL" ]; then ncpu=`/sbin/sysctl -n hw.ncpu` cpus=`jot ${ncpu} 0`; else - cpus=${microcode_cpus} + cpus=${microcode_update_cpus} fi for i in ${cpus}; do ${CMT} -u ${microcode_update_flags} \ @@ -52,7 +52,7 @@ microcode_update_start() logger -p daemon.notice -t microcode_update || \ (echo "Microcode Update Failed." && exit 1) done - if [ "${microcode_cpus}" = "ALL" ]; then + if [ "${microcode_update_cpus}" = "ALL" ]; then CPUCONTROL_UPDATED=$(cpucontrol -h 2>&1 | grep -q -- -e; echo $?) if [ ${CPUCONTROL_UPDATED} -ne 0 ]; then echo "Please update your system in order to update CPU microcode." @@ -70,9 +70,19 @@ microcode_update_start() load_rc_config $name # Set default values +if [ -n "${microcode_cpus}" ]; then + if [ -n "${microcode_update_cpus}" ]; then + echo "Warning: Ignoring deprecated rc variable, microcode_cpus." + else + echo "Warning: rc variable microcode_cpus is deprecated. +Warning: Set microcode_udpate_cpus instead." + microcode_update_cpus="${microcode_cpus}" + fi +fi + : ${microcode_update_enable="NO"} : ${microcode_update_datadir="%%DATADIR%%"} -: ${microcode_cpus="ALL"} +: ${microcode_update_cpus="ALL"} : ${microcode_update_flags=""} run_rc_command "$1" diff --git a/sysutils/devcpu-data/files/pkg-message.in b/sysutils/devcpu-data/files/pkg-message.in new file mode 100644 index 000000000000..c2860f035372 --- /dev/null +++ b/sysutils/devcpu-data/files/pkg-message.in @@ -0,0 +1,46 @@ +[ +{ type: install + message: <<EOM +This port includes an RC script, which is one of two methods to update the +CPU microcode on a FreeBSD system. + +1. The first method, which does not require the RC script included in this + port is currently only supported on FreeBSD 12.0 or later and Intel i386 + and amd64 processors. It is the preferred method when available because + it ensures that any CPU features introduced by a microcode update are + visible to the kernel by applying the update before the kernel performs + CPU feature detection. + + To enable updates using the first method, add the following lines to + /boot/loader.conf: + + cpu_microcode_load="YES" + cpu_microcode_name="/boot/firmware/intel-ucode.bin" + + The microcode update will be loaded when the system is rebooted. + + +2. The second method, which uses the RC script included in this port can + be enabled by adding the following line to /etc/rc.conf: + + microcode_update_enable="YES" + + The microcode update is then applied upon reboot or when the microcode + update service is run via: + + # service microcode_update start + + If the CPU requires a microcode update, a console message such as the + following will appear: + + Updating CPU Microcode... + %%DATADIR%%/m32306c3_00000022.fw: updating cpu /dev/cpuctl0 from rev 0x17 to rev 0x22... done. + %%DATADIR%%/m32306c3_00000022.fw: updating cpu /dev/cpuctl2 from rev 0x17 to rev 0x22... done. + %%DATADIR%%/m32306c3_00000022.fw: updating cpu /dev/cpuctl4 from rev 0x17 to rev 0x22... done. + %%DATADIR%%/m32306c3_00000022.fw: updating cpu /dev/cpuctl6 from rev 0x17 to rev 0x22... done. + Done. + +It is safe to enable both methods. +EOM +} +] diff --git a/sysutils/devcpu-data/pkg-descr b/sysutils/devcpu-data/pkg-descr index 2f4bf5362506..815fa3126b0d 100644 --- a/sysutils/devcpu-data/pkg-descr +++ b/sysutils/devcpu-data/pkg-descr @@ -1,3 +1,3 @@ -This port supplies microcode updates for use with cpuctl(4) microcode -update facility. These could be used to keep your processor's firmware -up-to-date. +An RC script for use with the cpuctl(4) microcode update facility to keep your +processor's firmware up-to-date. CPU microcode data must be installed from a +vendor. See sysutils/devcpu-data-amd and sysutils/devcpu-data-intel. diff --git a/sysutils/devcpu-data/pkg-message b/sysutils/devcpu-data/pkg-message deleted file mode 100644 index b645f50bc138..000000000000 --- a/sysutils/devcpu-data/pkg-message +++ /dev/null @@ -1,46 +0,0 @@ -[ -{ type: install - message: <<EOM -Installing this port will allow host startup to update the CPU microcode on -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" - -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. -EOM -} -]