CPUCTL(8) | System Manager's Manual | CPUCTL(8)

# NAME

cpuctl — program to control CPUs

# SYNOPSIS

cpuctl | command [arguments]

# DESCRIPTION

The cpuctl command can be used to control and inspect the state of CPUs in the system.

The first argument, command, specifies the action to take. Valid commands are:

identify cpu
  Output information on the specified CPU's features and capabilities. Not available on all architectures.
list
  For each CPU in the system, display the current state and time of the last state change.
offline cpuno
  Set the specified CPU off line.

  Unbound LWPs (lightweight processes) will not be executed on the CPU while it is off line. Bound LWPs will continue to be executed on the CPU, and device interrupts routed to the CPU will continue to be handled. A future release of the system may allow device interrupts to be re-routed away from individual CPUs.

  At least one CPU in the system must remain on line.

online cpuno
  Set the specified CPU on line, making it available to run unbound LWPs.
ucode [file]
  This applies the microcode patch on all CPUs. The default filename is used if no filename is specified. The identify command prints the installed version on that CPU. On success the identify command show different ucode versions before and after this command.

# FILES

/dev/cpuctl
  control device
/libdata/firmware/x86/amd/
  The directory to install the microcode file for AMD CPUs into. The default filename is microcode_amd.bin for CPU families 0x10 to 0x14. The default filename is microcode_amd_famXXh.bin where XX is the CPU family starting with 15 (hex). Get it from http://www.amd64.org/support/microcode.html

# EXAMPLES

Run

> `cpuctl identify 0`

and you should see something like this:

    cpu0: UCode version: 0x1000080

After applying the microcode patch with

> `cpuctl ucode`

you can see with

> `cpuctl identify 0`

that the patch got applied:

    cpu0: UCode version: 0x1000083

# SEE ALSO

psrset(8), schedctl(8)

# HISTORY

The cpuctl command first appeared in NetBSD 5.0.

January 13, 2012 | NetBSD 6.0