On Tuesday 18 January 2011 09:34:14 Mark Knecht wrote: > On Tue, Jan 18, 2011 at 8:16 AM, Mark Knecht <markkne...@gmail.com> wrote: > > On Tue, Jan 18, 2011 at 7:38 AM, Paul Hartman > > > > <paul.hartman+gen...@gmail.com> wrote: > >> On Mon, Jan 17, 2011 at 10:29 PM, William Kenworthy <bi...@iinet.net.au> wrote: > >>> The bios microcode update is likely an enable setting rather than > >>> the > >>> bios actually updating the cpu. You need to do some reading/asking > >>> of > >>> the manufacturers (not here) if it bothers you. > >> > >> Thanks for the links, I didn't realize they made the microcode data > >> available separately. > >> > >> From Intel's download site for the microcode data: > >> > >> "The microcode data file contains the latest microcode definitions for > >> all Intel processors. Intel releases microcode updates to correct > >> processor behavior as documented in the respective processor > >> specification updates. While the regular approach to getting this > >> microcode update is via a BIOS upgrade, Intel realizes that this can > >> be an administrative hassle. The Linux Operating System and VMware ESX > >> products have a mechanism to update the microcode after booting. For > >> example, this file will be used by the operating system mechanism if > >> the file is placed in the /etc/firmware directory of the Linux > >> system." > > > > Thanks for the info Paul. > > > > For kicks I tried it on an Intel DH55HC MB running an Core i5-661. > > > > 1) Created /etc/firmware > > 2) Downloaded the Intel microcode-20101123.tgz file > > 3) Enabled the /dev/cpu/microcode option under Processor Types and > > Features 4) Rebuilt the kernel and rebooted > > > > I see this in dmesg: > > > > mark@firefly ~ $ dmesg | grep micro > > [ 0.495337] microcode: CPU0 sig=0x20652, pf=0x2, revision=0x9 > > [ 0.495436] microcode: CPU1 sig=0x20652, pf=0x2, revision=0x9 > > [ 0.495535] microcode: CPU2 sig=0x20652, pf=0x2, revision=0x9 > > [ 0.495635] microcode: CPU3 sig=0x20652, pf=0x2, revision=0x9 > > [ 0.495751] microcode: Microcode Update Driver: v2.00 > > <tig...@aivazian.fsnet.co.uk>, Peter Oruba > > mark@firefly ~ $ > > > > On this machine the message doesn't change whether the microcode file > > is located in /etc/firmware or not so I don't know how to tell if the > > process worked but the processor doesn't need any updates or whether > > it didn't work at all. > > > > - Mark > > OK, I got it to load by hand: > > 1) emerge microcode-ctl > > which also emerges microcode-data. Unfortunately microcode-data looks > to be out of date. Add microcode_ctl to the boot level: > > rc-update add microcode_ctl boot > > 2) Unzip and untar the microcode file from Intel. > > 3) The above emerge placed the microcode.dat file in /lib/firmware, > not /etc/firmware as suggested by the kernel, so I loaded the newer > one from Intel by hand using microcode-ctl: > > > firefly firmware # microcode_ctl -f /etc/firmware/microcode-20101123.dat > microcode_ctl: writing microcode (length: 430080) > microcode_ctl: microcode successfuly written to /dev/cpu/microcode > firefly firmware # dmesg | grep micro > [ 0.495755] microcode: CPU0 sig=0x20652, pf=0x2, revision=0x9 > [ 0.495853] microcode: CPU1 sig=0x20652, pf=0x2, revision=0x9 > [ 0.495952] microcode: CPU2 sig=0x20652, pf=0x2, revision=0x9 > [ 0.496050] microcode: CPU3 sig=0x20652, pf=0x2, revision=0x9 > [ 0.496168] microcode: Microcode Update Driver: v2.00 > <tig...@aivazian.fsnet.co.uk>, Peter Oruba > [ 2647.731262] microcode: CPU0 updated to revision 0xc, date = 2010-06-10 > [ 2647.731982] microcode: CPU1 updated to revision 0xc, date = 2010-06-10 > [ 2647.732815] microcode: CPU2 updated to revision 0xc, date = 2010-06-10 > [ 2647.733608] microcode: CPU3 updated to revision 0xc, date = 2010-06-10 > firefly firmware # > > Now the microcode revision appears to be updated. > > I suspected that if I renamed the file in /etc/firmware to > 'microcode.dat' maybe it would load automatically at boot time but it > didn't so I moved it to lib/firmware where microcode_ctl does load it. > > NOTE: There is a /etc/conf.d/microcode_ctl config file but it doesn't > see to include a path for microcode so I guess at this time I'm stuck > overwriting the /lib/firmware directory until I learn more. > > Cheers, > Mark
and that is all the intel stuff. For AMD all you have to do is: modprobe -r microcode && modprobe microcode