Detailed Description

Intel Processor Microcode Package for Linux*

CPU microcode is a mechanism to correct certain errata in existing systems.The normal preferred method to apply microcode updates is using the systemBIOS, but for a subset of Intel's processors this can be done at runtime using the operating system. This package contains those processors that support OS loading of microcode updates.

The target user for this package are OS vendors such as Linux* distributionsfor inclusion in their OS releases. Intel recommends getting the microcodeusing the OS vendor update mechanism. Expert users can of course update theirmicrocode directly outside the OS vendor mechanism. This method is complex andthus could be error prone.

Microcode is best loaded from the BIOS. Certain microcode must only be appliedfrom the BIOS. Such processor microcode updates are never packaged in thispackage since they are not appropriate for OS distribution. An OEM may receivemicrocode packages that might be a superset of what is contained in thispackage.

OS vendors may choose to also update microcode that kernel can consume for earlyloading. For e.g. Linux can update processor microcode very early in the kernel boot sequence. In situations when the BIOS update isn't available, early loadingis the next best alternative to updating processor microcode. Microcode statesare reset on a power reset, hence its required to be updated everytime during boot process.

Loading microcode using the initrd method is recommended so that the microcode is loaded at the earliest time for best coverage. Systems that cannot tolerate downtime may use the late reload method to update a running system without areboot.

== About Processor Signature, Family, Model, Stepping and Platform ID ==Processor signature is a number identifying the model and version of aIntel processor. It can be obtained using the CPUID instruction, and canalso be obtained via the command lscpu or from the content of /proc/cpuinfo.It's usually presented as 3 fields: Family, Model and Stepping(In the table of updates below, they are shorten as F, MO and S).

The width of Family/Model/Stepping is 12/8/4bit, but when arranged in the32bit processor signature raw data is like 0FFM0FMS, hexadecimal.e.g. if a processor signature is 0x000906eb, it meansFamily=0x006, Model=0x9e and Stepping=0xb

A processor product can be implemented for multiple types of platforms,So in MSR(17H), Intel processors have a 3bit Platform ID field,that can specify a platform type from at most 8 types.A microcode file for a specified processor model can support multipleplatforms, so the Platform ID of a microcode (shorten as PI in the table)is a 8bit mask, each set bit indicates a platform type that it supports.One can find the platform ID on Linux using rdmsr from msr-tools.

== Microcode update instructions ==-- intel-ucode/ --intel-ucode directory contains binary microcode files named infamily-model-stepping pattern. The file is supported in most modern Linuxdistributions. It's generally located in the /lib/firmware directory,and can be updated through the microcode reload interface.

To update early loading initrd, consult your distribution on how to packagemicrocode files for early loading. Some distros use update-initramfs or dracut.As recommended above, please use the OS vendors are recommended method to ensure microcode file is updated for early loading before attempting the late-load procedure below.

To update the intel-ucode package to the system, one need:1. Ensure the existence of /sys/devices/system/cpu/microcode/reload2. Copy intel-ucode directory to /lib/firmware, overwrite the files in/lib/firmware/intel-ucode/3. Write the reload interface to 1 to reload the microcode files, e.g. echo 1 > /sys/devices/system/cpu/microcode/reload

If you are using the OS vendor method to update microcode, the above steps mayhave been done automatically during the update process.

-- intel-ucode-with-caveats/ --This directory holds microcode that might need special handling.BDX-ML microcode is provided in directory, because it need special commits inthe Linux kernel, otherwise, updating it might result in unexpected systembehavior. OS vendors must ensure that the late loader patches (provided inlinux-kernel-patches\) are included in the distribution before packaging theBDX-ML microcode for late-loading.

Your personal information will be used to respond to this inquiry only. Your name and email address will not be added to any mailing list, and you will not receive email from Intel Corporation unless requested. Clicking ‘Submit’ confirms your acceptance of the Intel Terms of Use and understanding of the Intel Privacy Policy.