Manual browser: cpuctl(8)

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


cpuctlprogram to control CPUs


cpuctl [-v] command [arguments]


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.
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.

Valid flags are:

Be more verbose.


control device
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


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


The cpuctl command first appeared in NetBSD 5.0.
December 23, 2013 NetBSD 7.0