freebsd-dev/share
Stanislav Sedov e085f869d5 - 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
2008-08-08 16:26:53 +00:00
..
colldef According to a proposed Norwegian standard for alphabetization of which 2008-07-30 15:37:13 +00:00
dict Correct typos containing my login name (plus one more in expr.y). 2007-02-18 19:48:59 +00:00
doc Link wpi(4) into the build. 2007-11-08 22:09:37 +00:00
examples Remove ISDN4BSD (I4B) from HEAD as it is not MPSAFE and 2008-05-26 10:40:09 +00:00
info
man - Add cpuctl(4) pseudo-device driver to provide access to some low-level 2008-08-08 16:26:53 +00:00
me
misc Add my entry with a pointer to garga (mentor) 2008-07-30 01:05:13 +00:00
mk Turn of SSP for mips for now until support is added to the base 2008-07-23 06:14:21 +00:00
mklocale "NONE" -> "ASCII" encoding 2008-01-23 04:25:10 +00:00
monetdef International code for Russian Ruble is changed from RUR to RUB 2007-02-28 16:28:49 +00:00
msgdef Update korean locale messages: 2008-02-01 20:15:21 +00:00
numericdef Add locales for nb_NO and nn_NO. 2006-11-09 18:10:34 +00:00
security
sendmail Dont install .svn metadata with the sendmail install. 2008-05-31 19:15:15 +00:00
skel Remove /usr/X11R6 from the path here too. 2007-05-29 22:07:57 +00:00
snmp Define a base OID for the FreeBSD version as returned in sysObjectID 2006-10-31 10:09:10 +00:00
syscons Macbook [Pro] keyboards in AZERTY don't need shift to get to '~'. 2008-07-29 08:07:27 +00:00
tabset
termcap - Remove kH and *6 from xterm. They are defined to the same key as @7 (kp_end). 2008-01-08 16:00:24 +00:00
timedef In the previous commit, no_NO should have been replaced with nb_NO in the 2008-07-29 11:32:42 +00:00
zoneinfo Replace description on how to do CVS imports on this module with a 2008-08-08 04:37:43 +00:00
Makefile Remove ISDN4BSD (I4B) from HEAD as it is not MPSAFE and 2008-05-26 10:40:09 +00:00
Makefile.inc