This took a little digging but I sorted it out.
There is a way on Intel processors to update the microcode on the CPU (until the next restart). Supposedly this will provide performance and reliability benefits, though Intel doesn't publish a changelog so there is no way to be sure that it will actually do anything. But I like updates for the sake of updates so here we go.
The kernel module needed for this used to be called devcpu but is now called cpuctl as of around 7.3, with the corresponding driver app named cpucontrol. It can do things like play with the MSRs too.
There is a companion port called sysutils/devcpu-data which includes the latest release from Intel and an rc script to do the update on boot.
On FreeBSD 8.0 or later:
[cmd=]cd /usr/ports/sysutils/devcpu-data[/cmd]
[cmd=]make install clean[/cmd]
Remember that this wears off on reboot, so if you want it to stick then you must enable the update at boot: edit rc.conf and add
[cmd=]microcode_update_enable="YES"[/cmd]
Great, you can give the update a shot:
Cool, I jumped up 11 revisions : )
There is a way on Intel processors to update the microcode on the CPU (until the next restart). Supposedly this will provide performance and reliability benefits, though Intel doesn't publish a changelog so there is no way to be sure that it will actually do anything. But I like updates for the sake of updates so here we go.
The kernel module needed for this used to be called devcpu but is now called cpuctl as of around 7.3, with the corresponding driver app named cpucontrol. It can do things like play with the MSRs too.
There is a companion port called sysutils/devcpu-data which includes the latest release from Intel and an rc script to do the update on boot.
On FreeBSD 8.0 or later:
[cmd=]cd /usr/ports/sysutils/devcpu-data[/cmd]
[cmd=]make install clean[/cmd]
Remember that this wears off on reboot, so if you want it to stick then you must enable the update at boot: edit rc.conf and add
[cmd=]microcode_update_enable="YES"[/cmd]
Great, you can give the update a shot:
Code:
# /usr/local/etc/rc.d/microcode_update start
Updating cpucodes...
/usr/local/share/cpucontrol/964-m01f0712.fw: updating cpu /dev/cpuctl0 from rev 0x7 to rev 0x12... done.
Done.
Cool, I jumped up 11 revisions : )