... but it's not answered at least on public.
At least they promised they'll answer...
How can I run your program?
Just download the files into some directory and run
make
. After that there should be an executable
cpupdate
program in the directory. You need to run it as root because as normal user it cannot access the cpuctl devices.
The program requires the cpuctl kernel module being loaded. As this is usually not loaded by default, you'll probably have to
kldload cpuctl
.
When you have done that, you can get the processor information by
./cpupdate -i
.
Code:
# ./cpupdate -i
Found CPU(s) from Intel
/dev/cpuctl0 identification successful!
Processor Core: 0
ProcessorType: 00
ExtFamily: 00 ExtModel: 02
IntFamily: 06 IntModel: 0C Stepping: 02
-> Family: 06 Model: 2C
Flags: 1
-> Family: 06 Model: 2C uCodeRev: 001D
/dev/cpuctl1 identification successful!
Processor Core: 1
<snip>
#
It will output the information for every core it found. The reason for that is that one might have multiple processors with different microcode revisions.
The program's usage information is this:
Code:
# ./cpupdate
Usage: cpupdate [-i] | [-h] | -f <microcodefile> | <-u> <datadir> [-q] [-w]
-i show processor information
-f show version information of microcode file
-u update microcode using microcode files in <datadir>
-w write it: without this option cpupdate only simulates updating
-q quiet mode
-h show this help
#
Please be aware that the microcode upload function is still untested. But as it is similar to the
devcpu-data microcode uploader, except that several bugs of the latter program have been removed, I think it should work. Will have to extract microcodes for my other PC first to test it.
Aside of some bugs removed (like wrongly set registers, missing safety and compatibility checks) the cpupdate program differs from
devcpu-data in that it also works on older FreeBSD versions (possibly even down to 7.2).
.