Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
CPUCONTROL(8)           FreeBSD System Manager's Manual          CPUCONTROL(8)

NAME
     cpucontrol - control utility for the cpuctl(4) device

SYNOPSIS
     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 Stanislav
     Sedov <stas@FreeBSD.org>.

BUGS
     Yes, probably, report if any.

FreeBSD 11.0-PRERELEASE          June 30, 2009         FreeBSD 11.0-PRERELEASE

NAME | SYNOPSIS | DESCRIPTION | EXIT STATUS | EXAMPLES | SEE ALSO | HISTORY | AUTHORS | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=cpucontrol&manpath=FreeBSD+10.3-RELEASE+and+Ports>

home | help