[Midnightbsd-cvs] mports: mports/sysutils: add port to update microcode on amd and intel

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Fri Mar 20 14:24:49 EDT 2009


Log Message:
-----------
add port to update microcode on amd and intel cpus.

Modified Files:
--------------
    mports/sysutils:
        Makefile (r1.89 -> r1.90)

Added Files:
-----------
    mports/sysutils/devcpu:
        Makefile (r1.1)
        distinfo (r1.1)
        pkg-descr (r1.1)
        pkg-message (r1.1)
        pkg-plist (r1.1)
    mports/sysutils/devcpu/files:
        devcpu.in (r1.1)
    mports/sysutils/devcpu-data:
        Makefile (r1.1)
        distinfo (r1.1)
        pkg-descr (r1.1)
        pkg-plist (r1.1)

-------------- next part --------------
Index: Makefile
===================================================================
RCS file: /home/cvs/mports/sysutils/Makefile,v
retrieving revision 1.89
retrieving revision 1.90
diff -L sysutils/Makefile -L sysutils/Makefile -u -r1.89 -r1.90
--- sysutils/Makefile
+++ sysutils/Makefile
@@ -16,6 +16,8 @@
     SUBDIR += ciso
     SUBDIR += consolekit
     SUBDIR += coreutils
+    SUBDIR += devcpu
+    SUBDIR += devcpu-data
     SUBDIR += dmidecode
     SUBDIR += dvd+rw-tools
     SUBDIR += dvdbackup
--- /dev/null
+++ sysutils/devcpu/pkg-message
@@ -0,0 +1,25 @@
+=============================================================================
+
+CPU kernel module was installed.
+
+To load it, issue
+
+% kldload cpu
+
+Then you can access MSR registers or cpuid info via /dev/cpu%d or using
+3d-party programs, e.g. x86info.
+
+For information regarding microcode update features refer to
+cpu_microcode_tool(4) manpage.
+
+You might be interested in enabling automatic microcode update on startup.
+This can be achieved by adding the line devcpu_enable="YES" to /etc/rc.conf.
+Refer to rcNG devcpu script for additional info.
+
+You can also use extract_mcodes.rb utility to extract cpucode updates
+from vendor-supplied BIOS updates. The utility currently supports only
+Award/Phoenix-compatible BIOS images.
+
+Please, report any problems to maintainer. Thanks!
+
+=============================================================================
--- /dev/null
+++ sysutils/devcpu/pkg-descr
@@ -0,0 +1,9 @@
+This kernel module provides access to i386/amd64 CPUs MSR (Model Specific
+Register) registers and cpuid info through /dev/cpu%d devices, where %d
+corresponds to cpu number.
+
+It can be used with x86info to retrive information available from MSR registers.
+
+Additionally, this module can be used to update/replace microcode of cpus.
+
+Author:	Stanislav Sedov <stas at FreeBSD.org>
--- /dev/null
+++ sysutils/devcpu/pkg-plist
@@ -0,0 +1,8 @@
+bin/cpu_microcode_tool
+include/cpu.h
+%%EXTRACTOR%%libexec/extract_mcodes.rb
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+ at cwd /
+%%KMODDIR%%/cpu.ko
+ at unexec kldxref /%%KMODDIR%%
--- /dev/null
+++ sysutils/devcpu/Makefile
@@ -0,0 +1,70 @@
+# $MidnightBSD: mports/sysutils/devcpu/Makefile,v 1.1 2009/03/20 18:24:46 laffer1 Exp $
+
+PORTNAME=	devcpu
+PORTVERSION=	0.8.3
+PORTREVISION=	0
+CATEGORIES=	sysutils kld
+MASTER_SITES=	ftp://ftp.SpringDaemons.com/soft/
+
+MAINTAINER=	ports at MidnightBSD.org
+COMMENT=	Kernel module that provides access to i386 MSRs and cpuid info
+LICENSE=	unknown
+
+RUN_DEPENDS=	${STAMPFILE}:${PORTSDIR}/sysutils/devcpu-data
+
+FAKE_OPTS+=	trueprefix
+
+USE_BZIP2=	yes
+USE_RC_SUBR=	devcpu
+USE_RUBY=	yes
+RUBY_NO_BUILD_DEPENDS=	yes
+RUBY_NO_RUN_DEPENDS=	yes
+
+ONLY_FOR_ARCHS=	i386 amd64
+
+PLIST_SUB=	KMODDIR="${KMODDIR:C,^/,,}"
+KMODDIR=	/boot/modules
+MAKE_ENV+=	KMODDIR="${KMODDIR}" BINDIR="${PREFIX}/bin"
+
+STAMPFILE=	${LOCALBASE}/share/${PORTNAME}/.do_not_delete
+
+OPTIONS=	EXTRACTOR "Install Award Bios microcode extracting utility" off 
+
+MAN4=		cpu.4
+MAN8=		cpu_microcode_tool.8
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_EXTRACTOR)
+RUN_DEPENDS+=	${RUBY_SITEARCHLIBDIR}/mmap.so:${PORTSDIR}/devel/ruby-mmap \
+		${RUBY_SITEARCHLIBDIR}/lhalib.so:${PORTSDIR}/archivers/ruby-lha
+PLIST_SUB+=	EXTRACTOR=""
+.else
+PLIST_SUB+=	EXTRACTOR="@comment "
+.endif
+
+.if !exists(${SRC_BASE}/sys/Makefile)
+IGNORE=		requires kernel source to be installed
+.endif
+
+post-patch:
+	${REINPLACE_CMD} -e "s,%%PREFIX%%,${TRUE_PREFIX},g" \
+		${WRKSRC}/cpu_microcode_tool/cpu_microcode_tool.8
+	${MKDIR} ${FAKE_DESTDIR}/boot/modules
+
+post-install:
+	${INSTALL_DATA} ${WRKSRC}/cpu/cpu.h ${PREFIX}/include/
+	${INSTALL_MAN} ${WRKSRC}/cpu/cpu.4 ${PREFIX}/man/man4/
+	${INSTALL_MAN} ${WRKSRC}/cpu_microcode_tool/cpu_microcode_tool.8 \
+		 ${PREFIX}/man/man8/
+
+.if !defined(NOPORTDOCS)
+	${MKDIR} ${DOCSDIR}/
+	${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}/
+.endif
+
+.if defined(WITH_EXTRACTOR)
+	${INSTALL_SCRIPT} ${WRKSRC}/tools/extract_mcodes.rb ${PREFIX}/libexec/
+.endif
+
+.include <bsd.port.post.mk>
--- /dev/null
+++ sysutils/devcpu/distinfo
@@ -0,0 +1,3 @@
+MD5 (devcpu-0.8.3.tar.bz2) = 72b4bd09702409833816751550ca2fcb
+SHA256 (devcpu-0.8.3.tar.bz2) = 6631e0341e46a2378eeaa3674c87309cdee38c064e3da7297f872d40beade2d6
+SIZE (devcpu-0.8.3.tar.bz2) = 13385
--- /dev/null
+++ sysutils/devcpu/files/devcpu.in
@@ -0,0 +1,54 @@
+#!/bin/sh
+#
+# $FreeBSD: ports/sysutils/devcpu/files/devcpu.in,v 1.1 2007/02/01 21:52:14 stas Exp $
+#
+
+# PROVIDE:	devcpu
+# REQUIRE:	root mountcritlocal
+# KEYWORD:	nojail
+
+#
+# Add the following line to /etc/rc.conf to enable flow-capture:
+# devcpu_enable (bool):	Set it to "YES" to update cpucodes on startup
+#			Set to "NO" by default.
+# devcpu_datadir (str):	Directory, cpucode updates stored in.
+#				Default is "%%DATADIR%%"
+# devcpu_cpus (str):	A list of cpus to update on startup, or "-a" for all.
+#			Example: devcpu_cpus="cpu0 /dev/cpu1"
+#			Set to "-a" by default. 
+
+. /etc/rc.subr
+
+name="devcpu"
+rcvar=`set_rcvar`
+stop_cmd=":"
+start_precmd="devcpu_prepare"
+start_cmd="devcpu_start"
+requires_modules="cpu"
+
+CMT="%%PREFIX%%/bin/cpu_microcode_tool"
+
+devcpu_prepare()
+{
+	if ! kldstat -q -m cpu; then
+		if ! kldload cpu > /dev/null 2>&1; then
+			warn "Can't load cpu module."
+			return 1
+		fi
+	fi
+}
+
+devcpu_start()
+{
+	echo "Updating cpucodes."
+	${CMT} -I "${devcpu_datadir}" ${devcpu_cpus}
+}
+
+load_rc_config $name
+
+# Set default values
+: ${devcpu_enable="NO"}
+: ${devcpu_datadir="%%DATADIR%%"}
+: ${devcpu_cpus="-a"}
+
+run_rc_command "$1"
--- /dev/null
+++ sysutils/devcpu-data/pkg-descr
@@ -0,0 +1,2 @@
+This port supplies microcode updates for use with sysutils/devcpu port.
+These could be used to keep your processor microcode up-to-date.
--- /dev/null
+++ sysutils/devcpu-data/pkg-plist
@@ -0,0 +1,169 @@
+%%DATADIR%%/.do_not_delete
+%%DATADIR%%/1068-m01f122d.fw
+%%DATADIR%%/1069-m04f122e.fw
+%%DATADIR%%/1070-m02f122f.fw
+%%DATADIR%%/1072-m04f1305.fw
+%%DATADIR%%/1100-m04f2737.fw
+%%DATADIR%%/1101-m02f2738.fw
+%%DATADIR%%/1102-m08f2739.fw
+%%DATADIR%%/1104-m04f241e.fw
+%%DATADIR%%/1105-m08f2420.fw
+%%DATADIR%%/1106-m02f241f.fw
+%%DATADIR%%/1107-m10f2421.fw
+%%DATADIR%%/1142-m02f2205.fw
+%%DATADIR%%/1143-m02f110a.fw
+%%DATADIR%%/1290-m0df320a.fw
+%%DATADIR%%/1319-m206d820.fw
+%%DATADIR%%/1336-m02f2610.fw
+%%DATADIR%%/1338-m02f292d.fw
+%%DATADIR%%/1339-m04f292e.fw
+%%DATADIR%%/1340-m08f292f.fw
+%%DATADIR%%/1341-m01f2529.fw
+%%DATADIR%%/1342-m02f252a.fw
+%%DATADIR%%/1343-m04f252b.fw
+%%DATADIR%%/1346-m10f252c.fw
+%%DATADIR%%/1355-m206d618.fw
+%%DATADIR%%/1373-m1069507.fw
+%%DATADIR%%/1374-m2069507.fw
+%%DATADIR%%/1376-m8069547.fw
+%%DATADIR%%/1381-m9df4112.fw
+%%DATADIR%%/1382-m20f4111.fw
+%%DATADIR%%/146-MU16502e.fw
+%%DATADIR%%/1460-m9df4305.fw
+%%DATADIR%%/1462-mbdf4903.fw
+%%DATADIR%%/1466-m02f4116.fw
+%%DATADIR%%/1467-m0df330c.fw
+%%DATADIR%%/1468-m1df3417.fw
+%%DATADIR%%/1469-m9df4406.fw
+%%DATADIR%%/147-MU16502f.fw
+%%DATADIR%%/1470-m9df4703.fw
+%%DATADIR%%/1471-mbdf4117.fw
+%%DATADIR%%/1498-m5df4a02.fw
+%%DATADIR%%/1521-m5ff4807.fw
+%%DATADIR%%/153-d2_619.fw
+%%DATADIR%%/1584-m02f480b.fw
+%%DATADIR%%/1624-m206e839.fw
+%%DATADIR%%/1637-m5cf4a04.fw
+%%DATADIR%%/1638-m01f6402.fw
+%%DATADIR%%/1639-m04f620f.fw
+%%DATADIR%%/1644-m34f6404.fw
+%%DATADIR%%/1719-m01f6508.fw
+%%DATADIR%%/1729-m206ec54.fw
+%%DATADIR%%/1735-m01f480c.fw
+%%DATADIR%%/1816-m22f6809.fw
+%%DATADIR%%/1854-m86d821.fw
+%%DATADIR%%/1869-m806ec59.fw
+%%DATADIR%%/2071-m16f6c6.fw
+%%DATADIR%%/2074-m106f766.fw
+%%DATADIR%%/2077-m16f256.fw
+%%DATADIR%%/2096-m806fa92.fw
+%%DATADIR%%/2098-m806fda1.fw
+%%DATADIR%%/2099-m16fda1.fw
+%%DATADIR%%/2101-m016fbB3.fw
+%%DATADIR%%/2102-m086fbB3.fw
+%%DATADIR%%/2103-m106fbB3.fw
+%%DATADIR%%/2106-m046fbB4.fw
+%%DATADIR%%/2107-m406fbB4.fw
+%%DATADIR%%/2109-m021066131.fw
+%%DATADIR%%/2110-m011066132.fw
+%%DATADIR%%/2111-m801066133.fw
+%%DATADIR%%/2127-m206f6c7.fw
+%%DATADIR%%/2129-m206f257.fw
+%%DATADIR%%/2149-m46f6c9.fw
+%%DATADIR%%/2151-m406f767.fw
+%%DATADIR%%/2174-m041066136.fw
+%%DATADIR%%/2185-m04f650b.fw
+%%DATADIR%%/2334-m016fbB6.fw
+%%DATADIR%%/2335-m086fbB6.fw
+%%DATADIR%%/2336-m106fbB6.fw
+%%DATADIR%%/2339-m046fbB7.fw
+%%DATADIR%%/2340-m406fbB7.fw
+%%DATADIR%%/2346-m16fda3.fw
+%%DATADIR%%/2360-m011066138.fw
+%%DATADIR%%/2374-m16f6cb.fw
+%%DATADIR%%/2376-m46f6cd.fw
+%%DATADIR%%/2380-m106f768.fw
+%%DATADIR%%/2381-m406f769.fw
+%%DATADIR%%/2389-m16f25a.fw
+%%DATADIR%%/240-MU163202.fw
+%%DATADIR%%/2457-M01106C1109.fw
+%%DATADIR%%/2492-m02f480e.fw
+%%DATADIR%%/2494-m041067660B.fw
+%%DATADIR%%/2495-m101067660B.fw
+%%DATADIR%%/2496-m401067660B.fw
+%%DATADIR%%/2500-m1010677703.fw
+%%DATADIR%%/2502-m011067660B.fw
+%%DATADIR%%/2524-m08106d110.fw
+%%DATADIR%%/2598-M01106C2207.fw
+%%DATADIR%%/293-mu267114.fw
+%%DATADIR%%/308-MU163336.fw
+%%DATADIR%%/309-MU163437.fw
+%%DATADIR%%/358-MU166d05.fw
+%%DATADIR%%/359-MU166d06.fw
+%%DATADIR%%/368-bu27_fb.fw
+%%DATADIR%%/386-MU16600a.fw
+%%DATADIR%%/398-MU166503.fw
+%%DATADIR%%/399-MU166a0b.fw
+%%DATADIR%%/400-MU166a0c.fw
+%%DATADIR%%/401-MU166a0d.fw
+%%DATADIR%%/402-MU166d07.fw
+%%DATADIR%%/407-MU16522a.fw
+%%DATADIR%%/409-MU16522c.fw
+%%DATADIR%%/410-MU16522d.fw
+%%DATADIR%%/411-MU16530c.fw
+%%DATADIR%%/412-MU16530d.fw
+%%DATADIR%%/422-MU26530b.fw
+%%DATADIR%%/423-MU26522b.fw
+%%DATADIR%%/427-MU16800c.fw
+%%DATADIR%%/428-MU16800d.fw
+%%DATADIR%%/429-MU165040.fw
+%%DATADIR%%/43-B_c6_617.fw
+%%DATADIR%%/430-MU165041.fw
+%%DATADIR%%/433-MU165045.fw
+%%DATADIR%%/434-MU165140.fw
+%%DATADIR%%/435-MU165141.fw
+%%DATADIR%%/436-MU165142.fw
+%%DATADIR%%/452-MU165310.fw
+%%DATADIR%%/51-B_c6_616.fw
+%%DATADIR%%/530-mu16730e.fw
+%%DATADIR%%/531-mu26732e.fw
+%%DATADIR%%/534-MU16810d.fw
+%%DATADIR%%/535-MU16810e.fw
+%%DATADIR%%/536-MU16810f.fw
+%%DATADIR%%/537-MU268110.fw
+%%DATADIR%%/538-MU168111.fw
+%%DATADIR%%/539-mu167210.fw
+%%DATADIR%%/540-mu267238.fw
+%%DATADIR%%/550-MU168307.fw
+%%DATADIR%%/551-MU168308.fw
+%%DATADIR%%/566-mu26a003.fw
+%%DATADIR%%/588-mu26a101.fw
+%%DATADIR%%/611-MU168607.fw
+%%DATADIR%%/612-MU168608.fw
+%%DATADIR%%/615-MU16860a.fw
+%%DATADIR%%/617-MU16860c.fw
+%%DATADIR%%/618-MU268602.fw
+%%DATADIR%%/620-MU26a401.fw
+%%DATADIR%%/621-mu169601.fw
+%%DATADIR%%/662-MU168a01.fw
+%%DATADIR%%/678-2f0708.fw
+%%DATADIR%%/691-MU168a04.fw
+%%DATADIR%%/692-MU168a05.fw
+%%DATADIR%%/727-MU168313.fw
+%%DATADIR%%/728-MU168314.fw
+%%DATADIR%%/729-MU268310.fw
+%%DATADIR%%/737-MU16b11c.fw
+%%DATADIR%%/738-MU16b11d.fw
+%%DATADIR%%/875-MU16b401.fw
+%%DATADIR%%/885-MU16b402.fw
+%%DATADIR%%/94-MU265019.fw
+%%DATADIR%%/964-m01f0712.fw
+%%DATADIR%%/965-m01f0a13.fw
+%%DATADIR%%/966-m04f0a14.fw
+%%DATADIR%%/983-m02f0a15.fw
+%%DATADIR%%/99-B_c6_612.fw
+%%DATADIR%%/amd4.fw
+%%DATADIR%%/k8_ucode_0f48.fw
+%%DATADIR%%/k8_ucode_0f4a.fw
+%%DATADIR%%/k8_ucode_0f50.fw
+ at dirrm %%DATADIR%%
--- /dev/null
+++ sysutils/devcpu-data/Makefile
@@ -0,0 +1,26 @@
+# $MidnightBSD: mports/sysutils/devcpu-data/Makefile,v 1.1 2009/03/20 18:24:47 laffer1 Exp $
+
+PORTNAME=	data
+PORTVERSION=	0.3
+CATEGORIES=	sysutils
+MASTER_SITES=	ftp://ftp.SpringDaemons.com/soft/
+PKGNAMEPREFIX=	devcpu-
+DISTNAME=	${PKGNAMEPREFIX}${PORTNAME}-${PORTVERSION}
+
+MAINTAINER=	ports at MidnightBSD.org
+COMMENT=	Microcode data file to be used with sysutils/devcpu port
+LICENSE=	unknown
+
+USE_BZIP2=	yes
+NO_BUILD=	yes
+
+ONLY_FOR_ARCHS=	i386 amd64
+
+DATADIR=	${PREFIX}/share/devcpu
+
+do-install:
+	${MKDIR} ${DATADIR}/
+	${INSTALL_DATA} ${WRKSRC}/mcodes/* ${DATADIR}/
+	@${TOUCH} ${DATADIR}/.do_not_delete
+
+.include <bsd.port.mk>
--- /dev/null
+++ sysutils/devcpu-data/distinfo
@@ -0,0 +1,3 @@
+MD5 (devcpu-data-0.3.tar.bz2) = e699df59e5f9a0b1444a211666b1677b
+SHA256 (devcpu-data-0.3.tar.bz2) = 182a700186efeb2678ac34aed125defc41186610ef4b9ad1dfaca8fef6bcf549
+SIZE (devcpu-data-0.3.tar.bz2) = 325751


More information about the Midnightbsd-cvs mailing list