Linux 6.7全面改進x86 CPU微碼加載方式


最近,社區在清理Linux上的Intel/AMDx86CPU微代碼加載方面做大量的工作,這些工作現已合並到Linux6.7中。由於在啟動時加載CPU微代碼對於減少不斷出現的新CPU安全漏洞以及有時解決功能問題非常重要,ThomasGleixner最近開始清理x86CPU微代碼加載功能,並在此過程中進行各種改進。

image.webp

Linux 6.7 中對 x86 微代碼加載的一些改進包括:在啟用分頁之前不在 32 位上加載微代碼,以避免各種問題;重新修改 CPU 微代碼的後期加載;後期加載的微代碼現在對 CPU 熱插拔操作更友好;以及確定後期微代碼加載何時被認為是安全的最小微代碼版本概念。

x86 處理器/微代碼的亮點總結如下:

- 重組所需的代碼,並在 32 位上添加臨時 initrd 映射,以便加載器可以訪問微碼 Blob。這本身就是為下一個重大改進做準備:

- 在啟用分頁之前,不要在 32 位加載微代碼。在過去,處理這個問題會帶來無盡的麻煩、問題、難看的代碼和不必要的破解。而且從一開始就沒有任何合理的理由這樣做。因此,將 32 位加載改為在啟用分頁後進行,並再次將加載器代碼變得"真正純凈"。

- 在英特爾系統中放棄混合微碼步進加載--在整個系統中加載一個補丁就足夠

- 重新設計後期加載,跟蹤哪些 CPU 已成功更新微代碼,哪些尚未更新,並采取相應行動

- 將英特爾上的後期微代碼加載移至 NMI 上下文,以確保所有線程上的並發加載

- 使後期加載對 CPU 熱插拔安全,並為更新目的喚醒脫機線程

- 增加對最小修訂版的支持,以確定後期微代碼加載在機器上是否安全,並且微代碼不會更改機器無法使用的軟件可見功能,因為功能檢測已經發生。粗略地說,最小版本號是系統當前必須加載的最小版本號,以便允許後期更新。

- 其他一些很好的清理、修復等。

這些改進已合並到 Linux 6.7 中:

https://lore.kernel.org/lkml/20231103110600.GAZUTUGFjhoLm1KZzE@fat_crate.local/


相關推薦

2022-10-23

建時最終導致編譯器問題。可能還有其他的情況,AMD CPU微碼需要進行每線程的修改,但是Bulldozer/Piledriver處理器的這個LWP問題是導致註意到Linux的AMD CPU微碼加載器的這個根本區別的原因。在過去的一周裡,AMD CPU微代碼對每線程

2022-10-02

何更新日志。因此,我們無法得知任何值得註意的新的或改進的功能、任何問題修復部位,或者是一個以安全為名的更新。固件/微碼更新被合並到linux-firmware.git。如果你不考慮解什麼細節,隻想要升級到最新版本的AMD Family 19h CP

2024-03-12

特爾架構。X86S是向前邁出的一大步,它放棄傳統模式,改進5級分頁,並對x86_64進行其他現代化改進。隨著Linux6.9內核的推出,更多的X86S位將在這一持續努力中到位。一夜之間,Linux 6.9 合並窗口中的 x86 啟動改進就已發佈。這次

2024-05-10

c8候選版本。這次發佈的2024春季內核有很多出色的功能和改進,尤其是針對現代英特爾和AMD平臺。對於英特爾(Intel)和 AMD(AMD)來說,最近和即將推出的平臺的改動仍然相當大。Linux 6.9 中英特爾/AMD 的一些重大變化包括:- 針

2023-11-29

構產品,第一次進入網絡交換機產品中,實現芯片層面的全面自主可控。相信在工業應用上,未來還有更多的第三方芯片,能用上我們自己設計的 LoongArch 架構。總結來說,這次龍芯的新品發佈,讓大傢看到他們想要立足於 CPU

2022-07-24

上周,在為緩解這種最新的投機執行攻擊而進行的一系列Linux補丁之後,有人指出,Linux x86 32位內核仍然容易受到Retbleed的攻擊。事實證明,32位的Debian即使打補丁的內核,i386部分仍然容易受到Retbleed攻擊。AMD Zen 1/2和英特爾Skylake

2022-08-26

TIP 排隊的 x86 / cpu 分支合並窗口,將於 10 月份帶來一項改進。該補丁用於在分段錯誤發生時,記錄下有故障嫌疑的 CPU / 核心。若經常發現某一顆處理器、或特定內核遇到 Segmentation Fault,打印下的內容將有助於排場插槽或 CPU 核

2023-10-30

一些不錯的性能優化。有關 Linux 6.6 中所有重大變化的更全面概述,請參閱 Linux 6.6 功能列表:https://lore.kernel.org/lkml/CAHk-=w[email protected]/T/#uLinux 6.6 是一個相當重要的版本,很可能成為下一個長期支持(LTS)內核,這也將是 202

2022-07-08

使用 DPU,英偉達還是計劃通過 Linux 基金會項目來推動並改進支持。JBOF 讓直連 CPU 的所有初始化 PCIe 連接打通 NVMe 驅動器的數據傳輸StorageReview 指出:與常用的標準以太網 NIC 相比,DPU 的益處顯而易見。其外觀更像是一塊微型計

2022-07-03

"收費欺詐",並使用"動態代碼加載"來實施攻擊。簡而言之,該惡意軟件借助運營商的月度賬單會訂閱瞭一項高級服務,不知情的受害者隻能被迫付款。該惡意軟件隻通過利用蜂窩網絡使用

2022-08-10

月度“星期二補丁”的一部分,英特爾推送“20220809”CPU微碼更新,以修補Intel-SA-00657安全漏洞。Phoronix指出,問題源於共享資源的處理失當,導致攻擊者可能利用特權隱匿泄露信息,且該漏洞波及最新款的至強可擴展(XeonScalable

2022-09-04

X86和ARM處理器,例如Intel在PCIe、Ethernet、SATA等標準規范和Linux等開源軟件上有大量投入。據解,在X86和ARM互搶市場的時候,開源的RISC-V架構崛起,已經成為第三大CPU架構,同時這幾年中就出貨100億核心。8月24日,倪光南院士在2022

2023-11-02

要的積極貢獻者對其進行維護,並對架構代碼進行認真的改進。幾個月來,關於從 Linux 內核中退出 Itanium 的討論時斷時續,現在終於有結果。由於 Linux 6.6 預計將成為今年的長期支持(LTS)內核版本,最近有人提議在 Linux 6.7 中

2022-08-11

,包含針對“可擴展固件接口”(EFI)和ARM64的兩項顯著改進。首先,新內核接受華為在今年早些時候發佈的面向ARM64平臺的UEFI鏡像內存(MirroredMemory)支持。截圖(來自:git.Kernel.org)據悉,“統一可擴展固件接口”(UEFI)的