Linux 6.7检修x86 CPU微代码加载

2023年 11月 16日 38.6k 0

最近,已经做了大量的工作来清理Linux上的Intel/AMD x86 CPU微码加载(也被x86_64 CPU使用),这些微码加载现在已经合并为
Linux 6.7

由于在引导时加载CPU微代码仍然非常重要,这有助于缓解持续不断的新CPU安全漏洞,并有时解决功能问题,Thomas Gleixner最近开始清理x86 CPU微代码加载功能,并在这一过程中进行了各种改进。

Linux 6.7中的一些x86微码加载改进包括在启用分页之前不在32位上加载微码以避免各种问题,重新设计CPU微码的延迟加载,延迟加载微码现在是CPU热插拔安全的,以及确定何时认为延迟微码加载是安全的最小微码修订的概念。

x86/微码亮点总结如下:

-重新构造所需的代码,并在32位上添加临时initrd映射,以便加载程序可以访问微码Blob。这本身就是为下一个重大改进做准备:

-在启用分页之前,不要在32位上加载微码。在过去,处理这一问题已经引起了无尽的头痛、问题、丑陋的代码和不必要的黑客攻击。一开始确实没有任何合理的理由这么做。因此,在启用分页后切换32位加载,并再次将加载程序代码转为“real-purty”

-删除在英特尔上加载的混合微码步进-在那里,在整个系统上加载一个补丁就足够了

-返工延迟加载以跟踪哪些CPU成功更新了微码,哪些没有,并采取相应行动

-在NMI上下文中移动英特尔上的后期微码加载,以保证所有线程上的并发加载

-使后期加载的CPU热插拔安全,并为了更新而唤醒脱机线程

-添加对最低修订版的支持,该修订版可确定在计算机上后期加载微代码是否安全,并且微代码不会更改计算机无论如何都无法使用的软件可见功能,因为已经进行了功能检测。粗略地说,最小修订是系统上当前必须加载的最小修订号,以便允许延迟更新

-到处都是其他不错的清理、修复等

这些改进是
合并
for Linux 6.7.

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论