# service microcode_update start
Updating cpucodes...
/usr/local/share/cpucontrol/m32306c3_00000023.fw: updating cpu /dev/cpuctl0 from rev 0x1c to rev 0x23... done.
/usr/local/share/cpucontrol/m32306c3_00000023.fw: updating cpu /dev/cpuctl1 from rev 0x1c to rev 0x23... done.
/usr/local/share/cpucontrol/m32306c3_00000023.fw: updating cpu /dev/cpuctl2 from rev 0x1c to rev 0x23... done.
/usr/local/share/cpucontrol/m32306c3_00000023.fw: updating cpu /dev/cpuctl3 from rev 0x1c to rev 0x23... done.
Done.
#
# service microcode_update start
Updating cpucodes...
Done.
#
service microcode_update startでは、具体的には次のようにcpucontrol(8)コマンドをプロセッサのコアの数だけ実行しています(cpucontrol(8)コマンドの実行にはcpuctl(4)カーネルモジュールを読み込んでおく必要があります)。マイクロコード(ファームウェア)は/usr/local/share/cpuctl/に置いてある必要があります。devcpu-dataをインストールしてあればマイクロコード(ファームウェア)は/usr/local/share/cpuctl/に置いてあります。
図 cpucontrol(8)コマンドでマイクロコードをアップデート
# kldload cpuctl
# cpucontrol -uv /dev/cpuctl0
/usr/local/share/cpucontrol/m32306c3_00000023.fw: updating cpu /dev/cpuctl0 from rev 0x1c to rev 0x23... done.
#