- NetBSD Manual Pages
CPUCTL(8) NetBSD System Manager's Manual CPUCTL(8)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
cpuctl -- program 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 com-
identify cpu [cpu ...]
Output information on the specified CPU's features and capabil-
ities. Not available on all architectures.
list For each CPU in the system, display the current state and time
of the last state change.
offline cpu [cpu ...]
Set the specified CPUs off line.
Unbound LWPs (lightweight processes) will not be executed on a
CPU while it is off line. Bound LWPs will continue to be exe-
cuted on the CPUs, and device interrupts routed to the CPUs
will continue to be handled. A future release of the system
may allow device interrupts to be re-routed away from individ-
At least one CPU in the system must remain on line.
online cpu [cpu ...]
Set the specified CPUs on line, making them available to run
ucode [cpu] [file]
This applies the microcode patch to CPUs. If cpu is not speci-
fied or -1, all CPUs are updated. If cpu is -2, the current
CPUs are updated. The default filename is used if no filename
is specified. The identify command prints the installed ver-
sion on the specified CPUs. On success the identify command
shows different ucode versions before and after this command.
The ucode updates are found in the default firmware path found
in sysctl hw.firmware.path.
intr cpu [cpu ...]
Enable interrupts for the specified CPUs if supported.
nointr cpu [cpu ...]
Disable interrupts for the specified CPUs if supported.
Valid flags are:
-v Be more verbose.
/dev/cpuctl 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 0
you can see with
cpuctl identify 0
that the patch got applied:
cpu0: UCode version: 0x1000083
intrctl(8), psrset(8), schedctl(8), sysctl(8), firmload(9)
The cpuctl command first appeared in NetBSD 5.0.
NetBSD 9.1 May 17, 2019 NetBSD 9.1