适用于 Linux * 的英特尔处理器微套件软件包
CPU 微码是一种更正现有系统中的特定勘误表的机制。
应用微代码更新的一般首选方法是使用系统
BIOS,但对于英特尔处理器的一部分,这可以在运行时完成
使用操作系统。此软件包包含的处理器
支持对微码更新进行操作系统加载。
此软件包的目标用户是操作系统供应商,如 Linux * 发行版
包括在其操作系统版本中。英特尔推荐获取微代码
使用操作系统供应商更新机制。当然,专家级用户可以更新他们的
将微代码直接用于操作系统供应商机制之外。这种方法非常复杂,
因此可能会出错。
微代码最适合从 BIOS 加载。只能应用某些微代码
从 BIOS 中获得。此类处理器微码更新永远不会封装在此
软件包,因为它们不适合操作系统分发。OEM 可能会收到
可能是此类中所含内容的超集的微代码包
数据包.
操作系统供应商可能还会选择更新内核可为及早使用的微代码
装入.例如,Linux 可以在内核中非常早地更新处理器微代码
引导顺序。在 BIOS 更新不可用的情况下,提前加载
是更新处理器微码的下一种最佳替代方案。微码状态
在重置电源时重置,因此需要在此过程中每年更新一次
启动过程。
建议使用 initrd 方法加载微代码,以使微代码
最早加载,以获得最佳覆盖范围。不能容忍的系统
停机可能会使用后期重装方法来更新正在运行的系统,而无需
重新启动.
= = 关于处理器签名、家族、型号、步进和平台 ID = =
处理器签名是一种数字,用于标识模型和版本的
英特尔处理器。它可以使用 CPUID 指令进行获取,并可
此外,还可以通过命令 lscpu 或/proc/cpuinfo. 的内容获取
它通常显示为3个字段:家族、型号和步进
(在下面的更新表中,它们将缩短为 F、MO 和 S)。
家族/型号/步进的宽度为 12/8/4bit,但在
32位处理器签名原始数据就像0FFM0FMS,十六进制。
例如,如果处理器签名是0x000906eb 的,则表示
家族 = 0x006,型号 = 0x9e and 步进 = 0xb
可以为多种类型的平台实施处理器产品,
因此,在 MSR (17H)中,英特尔处理器有一个3bit 平台 ID 字段,
可指定最多8种类型的平台类型。
特定处理器型号的微代码文件可支持多个
平台,因此微码的平台 ID (在表中以 PI 的形式缩短)
是一个8bit 掩码,每个设置位代表一种它支持的平台类型。
使用来自 msr 工具的 rdmsr,可以在 Linux 上找到平台 ID。
= = 微代码更新指令 = =
--英特尔-ucode/--
英特尔-ucode 目录包含二进制微代码文件,名称在
家族-型号步进模式。该文件在大多数现代 Linux 中均受支持
通讯.它通常位于/lib/firmware 目录中,
并可通过微码重装接口进行更新。
要更新早期加载 initrd,请咨询您的分销商,了解如何打包
用于提前加载的微代码文件。一些版本使用更新 initramfs 或 dracut。
如前所述,请使用操作系统供应商推荐的方法,以确保
在尝试后期加载之前,会更新微码文件以进行早期加载
步骤如下。
要将 intel ucode 程序包更新为系统,需要:
1. 确保/sys/devices/system/cpu/microcode/reload 存在
2. 将 intel-ucode directory 复制到/lib/firmware,覆盖其中的文件
/lib/firmware/intel-ucode/
3. 将重装接口写入1以重新加载微代码文件,例如:
回显 1 >/sys/devices/system/cpu/microcode/reload
如果您使用操作系统供应商方法来更新微代码,上述步骤可能
在更新过程中已自动完成。
--英特尔-ucode-注意事项/--
此目录包含可能需要特殊处理的微代码。
BDX-directory 中提供了 ML 微码,因为它需要在
否则,Linux 内核可能会导致意外的系统
行为.
操作系统供应商必须确保后期加载程序修补(在
linux-内核-补丁 \)在分发之前,
BDX-用于后期加载的 ML 微码。
= = 20180807 版本 = =
--20180703 版上的更新--
处理器标识符版本产品
模型步进 F-MO-S/PI 旧 > 新
----新平台----------------------------------------
WSM-EP/WS U1 6-2c-2/03 0000001f 至强 E/L/X56xx,W36xx
NHM-EX D0 6-6/04 0000000d 至强 E/L/X65xx/75xx
BXT C0 6-5c-2/01 00000014 凌动 T5500/5700
APL E0 6-5c-a/03 0000000c Atom x5-E39xx
DVN B0 6-5f-1/01 00000024 凌动 C3xxx
----更新的平台------------------------------------
NHM-EP/WS D0 6-5/03 00000019-> 0000001d 至强 E/L/X/W55xx
NHM B1 6-1e-5/13 00000007-> 0000000a Core i7-8xx,i5-7xx;至强 L3426,X24xx
WSM B1 6-25-2/12 0000000e-> 00000011 酷睿 i7-6xx,i5-6xx/4xxM,i3-5xx/3xxM,奔腾 G69xx,Celeon P45xx;至强 L3406
WSM K0 6-25-5/92 00000004-> 00000007 酷睿 i7-6xx,i5-6xx/5xx/4xx,i3-5xx/3xx,奔腾 G69xx/P6xxx/U5xxx,赛扬 P4xxx/U3xxx
SNB D2 6--7/12 0000002d-> 0000002e Core Gen2;至强 E3
WSM-EX A2 6-2/05 00000037-> 0000003b 至强 E7
IVB E2 6-9/12 0000001f-> 00000020 Core Gen3 移动设备
HSW-H/S/E3 Cx/Dx 6-3c-3/32 00000024-> 00000025 Core Gen4 Desktop;至强 E3 v3
BDW-U/Y E/F 6-3d-4/c0 0000002a-> 0000002b 酷睿 Gen5 移动设备
HSW-ULT Cx/Dx 6-45-1/72 00000023-> 00000024 酷睿 Gen4 移动设备和派生型奔腾/赛扬
HSW-H Cx 6-46-1/32 00000019-> 0000001a Core 至尊 i7-级5xxxx
BDW-H/E3 E/G 6-47-1/22 0000001d-> 0000001e Core i5-5xxxR/C,i7-5xxxHQ/EQ;至强 E3 v4
SKL-U/Y D0 6-4e-3/c0 000000c2-> 000000c6 Core Gen6 移动设备
BDX V1 6-56-2/10 00000015-> 00000017 至强 D-1520/40
BDX-DE V2/3 6-56-3/10 07000012-> 07000013 至强 D-1518/19/21/27/28/31/33/37/41/48、奔腾 D1507/08/27/17/19
BDX-DE Y0 6-56-4/10 0f000011-> 0f000012 至强 D-1557/59/67/71/77/81/87
APL D0 6-5c-9/03 0000002c-> 00000032 奔腾 N/J4xxx,赛扬 N/J3xxx,凌动 x5/7-E39xx
SKL-H/S/E3 R0 6-5e-3/36 000000c2-> 000000c6 Core Gen6;至强 E3 v5
GLK B0 6-7a-1/01 00000022-> 00000028 奔腾银牌 N/J5xxx、赛扬 N/J4xxx
KBL-U/Y H0 6-8e-9/c0 00000084-> 0000008e Core Gen7 移动设备
CFL-U43e D0 6-8e-a/c0 00000084-> 00000096 Core 第八代移动设备
KBL-H/S/E3 B0 6-9e-9/2a 00000084-> 0000008e Core Gen7;至强 E3 v6
CFL-H/S/E3 U0 6-第八代-a/22 00000084-> 00000096 Core
CFL-H/S/E3 B0 6--b/02 00000084-> 0000008e Core 第八代台式机