Date: Fri, 8 Aug 2008 16:26:53 +0000 (UTC) From: Stanislav Sedov <stas@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/share/man/man4 Makefile cpuctl.4 src/sys/amd64/amd64 support.S src/sys/amd64/conf NOTES src/sys/amd64/include cpufunc.h specialreg.h src/sys/conf files.amd64 files.i386 src/sys/dev/cpuctl cpuctl.c ... Message-ID: <200808081631.m78GVG9i088754@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
stas 2008-08-08 16:26:53 UTC
FreeBSD src repository
Modified files:
share/man/man4 Makefile
sys/amd64/amd64 support.S
sys/amd64/conf NOTES
sys/amd64/include cpufunc.h specialreg.h
sys/conf files.amd64 files.i386
sys/i386/conf NOTES
sys/i386/i386 support.s
sys/i386/include cpufunc.h specialreg.h
sys/modules Makefile
sys/sys priv.h
usr.sbin Makefile
Added files:
share/man/man4 cpuctl.4
sys/dev/cpuctl cpuctl.c
sys/modules/cpuctl Makefile
sys/sys cpuctl.h
usr.sbin/cpucontrol Makefile amd.c amd.h cpucontrol.8
cpucontrol.c cpucontrol.h intel.c intel.h
Log:
SVN rev 181430 on 2008-08-08 16:26:53Z by stas
- Add cpuctl(4) pseudo-device driver to provide access to some low-level
features of CPUs like reading/writing machine-specific registers,
retrieving cpuid data, and updating microcode.
- Add cpucontrol(8) utility, that provides userland access to
the features of cpuctl(4).
- Add subsequent manpages.
The cpuctl(4) device operates as follows. The pseudo-device node cpuctlX
is created for each cpu present in the systems. The pseudo-device minor
number corresponds to the cpu number in the system. The cpuctl(4) pseudo-
device allows a number of ioctl to be preformed, namely RDMSR/WRMSR/CPUID
and UPDATE. The first pair alows the caller to read/write machine-specific
registers from the correspondent CPU. cpuid data could be retrieved using
the CPUID call, and microcode updates are applied via UPDATE.
The permissions are inforced based on the pseudo-device file permissions.
RDMSR/CPUID will be allowed when the caller has read access to the device
node, while WRMSR/UPDATE will be granted only when the node is opened
for writing. There're also a number of priv(9) checks.
The cpucontrol(8) utility is intened to provide userland access to
the cpuctl(4) device features. The utility also allows one to apply
cpu microcode updates.
Currently only Intel and AMD cpus are supported and were tested.
Approved by: kib
Reviewed by: rpaulo, cokane, Peter Jeremy
MFC after: 1 month
Revision Changes Path
1.423 +2 -0 src/share/man/man4/Makefile
1.1 +146 -0 src/share/man/man4/cpuctl.4 (new)
1.129 +44 -0 src/sys/amd64/amd64/support.S
1.82 +6 -0 src/sys/amd64/conf/NOTES
1.150 +5 -0 src/sys/amd64/include/cpufunc.h
1.46 +7 -0 src/sys/amd64/include/specialreg.h
1.122 +1 -0 src/sys/conf/files.amd64
1.601 +1 -0 src/sys/conf/files.i386
1.1 +446 -0 src/sys/dev/cpuctl/cpuctl.c (new)
1.1260 +6 -0 src/sys/i386/conf/NOTES
1.120 +49 -0 src/sys/i386/i386/support.s
1.147 +5 -0 src/sys/i386/include/cpufunc.h
1.45 +7 -0 src/sys/i386/include/specialreg.h
1.582 +3 -0 src/sys/modules/Makefile
1.1 +8 -0 src/sys/modules/cpuctl/Makefile (new)
1.1 +52 -0 src/sys/sys/cpuctl.h (new)
1.21 +7 -1 src/sys/sys/priv.h
1.391 +3 -0 src/usr.sbin/Makefile
1.1 +9 -0 src/usr.sbin/cpucontrol/Makefile (new)
1.1 +183 -0 src/usr.sbin/cpucontrol/amd.c (new)
1.1 +49 -0 src/usr.sbin/cpucontrol/amd.h (new)
1.1 +116 -0 src/usr.sbin/cpucontrol/cpucontrol.8 (new)
1.1 +362 -0 src/usr.sbin/cpucontrol/cpucontrol.c (new)
1.1 +56 -0 src/usr.sbin/cpucontrol/cpucontrol.h (new)
1.1 +285 -0 src/usr.sbin/cpucontrol/intel.c (new)
1.1 +70 -0 src/usr.sbin/cpucontrol/intel.h (new)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808081631.m78GVG9i088754>
