Difference between revisions of "Microcode"

From ArchWiki
Jump to: navigation, search
(cat)
(Updating Intel microcode)
Line 1: Line 1:
 
{{expansion}}
 
{{expansion}}
 
[[Wikipedia:Microcode]]
 
[[Wikipedia:Microcode]]
 +
 +
==What is a Microcode update?==
 +
 +
Basically, processor microcode is akin to processor firmware. Linux is unique in that the kernel is able to update the processor's firmware without the need to update it via a BIOS update.  From the [http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=19342&ProdId=3008&lang=eng Intel's website]:
 +
 +
"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."
 +
 +
{{Note|Arch Linux does not use /etc/firmware to process the update.}}
 +
 +
Also see the [http://en.wikipedia.org/wiki/Microcode Microcode] page on Wikipedia.
 +
 +
==How to tell if a microcode update is needed==
 +
 +
Inspecting the output of dmesg and looking for a line that indicates old microcode is trivial.  Example from an Intel Atom processor on a machine whose vendor has publicly announced that no more BIOS updates will be release due to the mother board being EOL (Zotac IONITX-A-U).
 +
 +
dmesg | grep micro
 +
Atom PSE erratum detected, BIOS microcode update recommended
 +
 +
==Which CPUs accept microcode updates?==
 +
 +
According to [http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=19342&ProdId=3008&lang=eng Intel's download center], the following CPUs support microcode updates:
 +
 +
*Intel® Celeron® Processor Family
 +
*Mobile Intel® Celeron® Processors
 +
*Intel® Pentium® 4 Processors
 +
*Intel® Xeon® Processor
 +
*Mobile Intel® Pentium® 4 Processors - M
 +
*Intel® Pentium® M Processor
 +
*Intel® Pentium® 4 Processor Extreme Edition
 +
*Intel® Pentium® Processor Extreme Edition
 +
*Intel® Pentium® D Processor
 +
*Intel® Core™ Duo Processor
 +
*Intel® Core™ Solo processor
 +
*Intel® Xeon® Processor 5000 Sequence
 +
*Intel® Core™2 Duo Desktop Processor
 +
*Intel® Core™2 Extreme Processor
 +
*Intel® Core™2 Duo Mobile Processor
 +
*Intel® Xeon® Processor 7000 Sequence
 +
*Intel® Xeon® Processor 3000 Sequence
 +
*Intel® Core™2 Quad Processor
 +
*Intel® Pentium® Processor for Desktop
 +
*Intel® Pentium® Processor for Mobile
 +
*Intel® Core™2 Solo Processor
 +
*Intel® Core™2 Extreme Mobile Processor
 +
*Intel® Atom™ Processor
 +
*Intel® Core™2 Quad Mobile Processor
 +
*Intel® Core™ i7 Processor
 +
*Intel® Core™ i7 Processor Extreme Edition
 +
*Intel® Core™ i5 Processor
 +
*Intel® Core™ i7 Mobile Processor
 +
*Intel® Core™ i7 Mobile Processor Extreme Edition
 +
*Intel® Core™ i3 Mobile Processor
 +
*Intel® Core™ i5 Mobile Processor
 +
*Intel® Core™ i3 Desktop Processor
 +
*Intel® Xeon® Processor 6000 Sequence
  
 
==Updating Intel microcode==
 
==Updating Intel microcode==

Revision as of 23:09, 5 December 2010

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Microcode#)
Wikipedia:Microcode

What is a Microcode update?

Basically, processor microcode is akin to processor firmware. Linux is unique in that the kernel is able to update the processor's firmware without the need to update it via a BIOS update. From the Intel's website:

"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."

Note: Arch Linux does not use /etc/firmware to process the update.

Also see the Microcode page on Wikipedia.

How to tell if a microcode update is needed

Inspecting the output of dmesg and looking for a line that indicates old microcode is trivial. Example from an Intel Atom processor on a machine whose vendor has publicly announced that no more BIOS updates will be release due to the mother board being EOL (Zotac IONITX-A-U).

dmesg | grep micro
Atom PSE erratum detected, BIOS microcode update recommended

Which CPUs accept microcode updates?

According to Intel's download center, the following CPUs support microcode updates:

  • Intel® Celeron® Processor Family
  • Mobile Intel® Celeron® Processors
  • Intel® Pentium® 4 Processors
  • Intel® Xeon® Processor
  • Mobile Intel® Pentium® 4 Processors - M
  • Intel® Pentium® M Processor
  • Intel® Pentium® 4 Processor Extreme Edition
  • Intel® Pentium® Processor Extreme Edition
  • Intel® Pentium® D Processor
  • Intel® Core™ Duo Processor
  • Intel® Core™ Solo processor
  • Intel® Xeon® Processor 5000 Sequence
  • Intel® Core™2 Duo Desktop Processor
  • Intel® Core™2 Extreme Processor
  • Intel® Core™2 Duo Mobile Processor
  • Intel® Xeon® Processor 7000 Sequence
  • Intel® Xeon® Processor 3000 Sequence
  • Intel® Core™2 Quad Processor
  • Intel® Pentium® Processor for Desktop
  • Intel® Pentium® Processor for Mobile
  • Intel® Core™2 Solo Processor
  • Intel® Core™2 Extreme Mobile Processor
  • Intel® Atom™ Processor
  • Intel® Core™2 Quad Mobile Processor
  • Intel® Core™ i7 Processor
  • Intel® Core™ i7 Processor Extreme Edition
  • Intel® Core™ i5 Processor
  • Intel® Core™ i7 Mobile Processor
  • Intel® Core™ i7 Mobile Processor Extreme Edition
  • Intel® Core™ i3 Mobile Processor
  • Intel® Core™ i5 Mobile Processor
  • Intel® Core™ i3 Desktop Processor
  • Intel® Xeon® Processor 6000 Sequence

Updating Intel microcode

Install microcode_ctl:

# pacman -S microcode_ctl

Then add microcode to the DAEMONS array in Template:Filename.

You may have to replace /etc/microcode.dat with a newer version from the intel site. As of December 5th, 2010, the Arch package has an out of date microcode file.

Note: Microcode updates via software are not persistent - they have to be done at each boot (that's the daemon's purpose) - BIOS updates with the new microcode are a cleaner solution but aren't always available