CPUCONTROL(8) | FreeBSD System Manager's Manual | CPUCONTROL(8) |
NAME
cpucontrol — control utility for the cpuctl(4) deviceSYNOPSIS
cpucontrol | [ -vh] -m msr device |
cpucontrol | [ -vh] -m msr= value device |
cpucontrol | [ -vh] -m msr&= mask device |
cpucontrol | [ -vh] -m msr|= mask device |
cpucontrol | [ -vh] -i level device |
cpucontrol | [ -vh] -i level,level_type device |
cpucontrol | [ -vh][ -d datadir] -u device |
DESCRIPTION
The cpucontrol utility can be used to read and write arbitrary machine-specific CPU registers via the cpuctl(4) special device. It can also be used to apply CPU firmware updates.The following options are available:
- -d datadir
- Where to look for microcode images. The option can be specified multiple times.
- -m msr[ = value]
- Show value of the specified MSR. MSR register number should be given as a hexadecimal number.
- -m msr= value
- Store the value in the specified MSR register. The value argument can be prefixed with ~ operator. In this case the inverted value of argument will be stored in the register.
- -m msr&= mask
- Store the result of bitwise AND operation between mask and the current MSR value in the MSR register. The mask argument can be prefixed with ~ operator. In this case the inverted value of mask will be used.
- -m msr|= mask
- Store the result of bitwise OR operation between mask and the current MSR value in the MSR register. The mask argument can be prefixed with ~ operator. In this case the inverted value of mask will be used.
- -i level
- Retrieve CPUID info. Level should be given as a hex number.
- -i level,level_type
- Retrieve CPUID info. Level and level_type should be given as hex numbers.
- -u
- Apply CPU firmware updates. The cpucontrol utility will walk through the configured data directories and apply all firmware updates available for this CPU.
- -v
- Increase the verbosity level.
- -h
- Show help message.
EXIT STATUS
The cpucontrol utility exits 0 on success, and >0 if an error occurs.EXAMPLES
The command “ cpucontrol -m 0x10 /dev/cpuctl0
”
will read the contents of TSC MSR from CPU 0.
To set the CPU 0 TSC MSR register value to 0x1 issue
“ cpucontrol -m 0x10=0x1 /dev/cpuctl0
”.
The following command will clear the second bit of TSC register:
“ cpucontrol -m 0x10&=~0x02 /dev/cpuctl0
”.
The following command will set the forth and second bit of TSC register:
“ cpucontrol -m 0x10|=0x0a /dev/cpuctl0
”.
The command
“ cpucontrol -i 0x1 /dev/cpuctl1
”
will retrieve the CPUID level 0x1 from CPU 1.
To perform firmware updates on CPU 0 from images located at /usr/local/share/cpuctl/ use the following command:
“ cpucontrol -d /usr/local/share/cpuctl/ -u /dev/cpuctl0
”
SEE ALSO
cpuctl(4)HISTORY
The cpucontrol utility first appeared in FreeBSD 7.2.AUTHORS
The cpucontrol utility and this manual page was written by <stas@FreeBSD.org>.BUGS
Yes, probably, report if any.June 30, 2009 | FreeBSD |