freebsd-src/sys
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
..
amd64 - Add cpuctl(4) pseudo-device driver to provide access to some low-level 2008-08-08 16:26:53 +00:00
arm Add locking to the various iicbus(4) bridge drivers: 2008-08-04 20:46:15 +00:00
boot - Reimplement {d,i}tlb_enter() and {d,i}tlb_va_to_pa() in C. There's 2008-08-07 22:46:25 +00:00
bsm Further synchronization of copyrights, licenses, white space, etc from 2008-07-31 09:54:35 +00:00
cam Update SCSI opcodes and ASCs from t10.org. 2008-08-07 17:25:05 +00:00
cddl We want to use LBOLT instead of lbolt on FreeBSD. 2008-07-21 14:35:48 +00:00
compat Add TIOCPKT and TIOCSPTLCK to the Linuxolator. 2008-07-23 17:47:44 +00:00
conf - Add cpuctl(4) pseudo-device driver to provide access to some low-level 2008-08-08 16:26:53 +00:00
contrib Merge state reuse for tcp. 2008-08-04 14:42:09 +00:00
crypto
ddb Fix software single-stepping: we need to check if the instruction is a 2008-08-02 12:49:43 +00:00
dev - Add cpuctl(4) pseudo-device driver to provide access to some low-level 2008-08-08 16:26:53 +00:00
fs
gdb
geom Trivial commit to attempt to diagnose a svn problem. Add 2008-07-22 18:05:50 +00:00
gnu - Disallow XFS mounting in write mode. The write support never worked really 2008-07-21 23:01:09 +00:00
i386 - Add cpuctl(4) pseudo-device driver to provide access to some low-level 2008-08-08 16:26:53 +00:00
ia64
isa
kern Permit Giant to be passed as the explicit interlock either to 2008-08-07 21:00:13 +00:00
libkern Return arc4_i = arc4_j = 0; line from previous backing out since 2008-07-26 16:42:45 +00:00
mips Document a few sysctls. 2008-08-03 14:11:06 +00:00
modules - Add cpuctl(4) pseudo-device driver to provide access to some low-level 2008-08-08 16:26:53 +00:00
net Make "1000baseT" the description and "1000baseTX" the alias for 2008-08-01 22:13:39 +00:00
net80211 add WPS oui 2008-08-06 15:54:59 +00:00
netatalk
netgraph Implement ratelimiting for debug messages. For now, allow at most 2008-08-01 00:36:43 +00:00
netinet Minor white space tweaks. 2008-08-07 09:06:04 +00:00
netinet6 Adopt the slightly weaker consistency locking approach used in IPv4 raw 2008-07-30 09:26:27 +00:00
netipsec Add lifetime informations to generated SPD entries when SPDDUMP 2008-08-05 15:36:50 +00:00
netipx Begin the sysctl descriptions with a capital letter. 2008-07-25 23:54:07 +00:00
netnatm
netncp
netsmb
nfs
nfs4client Move the NFS/RPC code away from lbolt. 2008-07-22 21:27:22 +00:00
nfsclient Try again not to use a userspace pointer in the kernel when trying to record 2008-07-24 14:02:03 +00:00
nfsserver
nlm
opencrypto
pc98 Disconnect drivers that haven't been ported to MPSAFE TTY yet. 2008-08-03 10:32:17 +00:00
pccard
pci Add locking to the various iicbus(4) bridge drivers: 2008-08-04 20:46:15 +00:00
powerpc Disconnect drivers that haven't been ported to MPSAFE TTY yet. 2008-08-03 10:32:17 +00:00
rpc Re-work the code slightly to avoid a possible livelock. 2008-07-23 09:18:08 +00:00
security Minor style tweaks. 2008-08-02 22:30:51 +00:00
sparc64 - Reimplement {d,i}tlb_enter() and {d,i}tlb_va_to_pa() in C. There's 2008-08-07 22:46:25 +00:00
sun4v - Reimplement {d,i}tlb_enter() and {d,i}tlb_va_to_pa() in C. There's 2008-08-07 22:46:25 +00:00
sys - Add cpuctl(4) pseudo-device driver to provide access to some low-level 2008-08-08 16:26:53 +00:00
tools
ufs User may do "mount -o snapshot ...", that causes new FFS mount to be 2008-08-06 14:47:19 +00:00
vm If a thread that is swapped out is made runnable, then the setrunnable() 2008-08-05 20:02:31 +00:00
xdr
Makefile