- 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.
intr cpu [cpu ...]
Enable interrupts for the specified CPUs if supported.
list For each CPU in the system, display the current state and time
of the last state change.
nointr cpu [cpu ...]
Disable interrupts for the specified CPUs if supported.
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. Unless -v was given,
errors indicating that the microcode already exists on the CPU
in question are ignored. If cpu is not specified or -1, all
CPUs are updated. (AMD CPU updates need to be update all CPUs
at once.) If cpu is -2, the current CPUs are updated. The
default filename is used if no filename is specified. The file
pathname containing the ucode updates are searched relative to
the default firmware path found in sysctl(7) hw.firmware.path.
The identify command prints the installed version on the speci-
fied CPUs. On success the identify command shows different
ucode versions before and after this command.
Some problems will only be reported in the kernel message
buffer, so check dmesg(8) in case of errors.
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 10.99 September 12, 2023 NetBSD 10.99