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

導讀最近,社區在清理?Linux?上的 Intel/AMD x86 CPU 微代碼加載方面做了大量的工作,這些工作現已合并到 Linux 6.7 中。

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

由于在啟動時加載 CPU 微代碼對于減少不斷出現的新 CPU 安全漏洞以及有時解決功能問題非常重要,Thomas Gleixner 最近開始清理 x86 CPU 微代碼加載功能,并在此過程中進行了各種改進。

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/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166480.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166480.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166480.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AGV調整Matlab實現

% 用二維數組代替地圖和場地信息 % 可用場地:0 % 小車本身:1 % 貨物點及入庫點:2 % 地圖邊界: 100 % AGV出發區:11 % 監測區:12 % 充電區:13 % 生產區A1、A2:14 % 生產區B3、B4、B5&#xff1a…

C百題--7.輸出乘法表

1.問題描述 輸出9*9乘法表 2.解決思路 利用99乘法表行和列之間的關系&#xff0c;進行輸出 注意&#xff1a;%-2d 2代表占兩個字符&#xff1b;-代表左對齊 3.代碼實現 #include<stdio.h> int main(){for(int i1;i<9;i){for(int j1;j<i;j){printf("%d*%d…

微信小程序埋點

使用如下代碼封裝一下&#xff0c;例如封裝在log.js文件里面&#xff1a; var log wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : nullmodule.exports {debug() {if (!log) returnlog.debug.apply(log, arguments)},info() {if (!log) returnlog.info.apply(l…

深入學習pytorch筆記

兩個重要的函數 dir()&#xff1a; 一個內置函數&#xff0c;用于列出對象的所有屬性和方法 help()&#xff1a;一個內置函數&#xff0c;用于獲取關于Python對象、模塊、函數、類等的詳細信息 Dateset類 Dataset&#xff1a;pytorch中的一個類&#xff0c;開發者在訓練和…

抖音電商品牌力不足咋辦?如何升級或強開旗艦店、官方旗艦店?我們有妙招!

隨著抖音電商的發展&#xff0c;越來越多的商家蜂擁而至&#xff0c;入駐經營抖音小店... 然而我們在開店的時候&#xff0c;選擇開通官方旗艦店、旗艦店、專營店或專賣店&#xff0c;卻被系統提示為你的商標品牌力不足&#xff0c;無法開通官方旗艦店、旗艦店、專營店、專賣店…

Android手電筒、閃光燈、torch、flash

1. 僅開啟手電筒 單純的開啟手電筒我們可以使用CameraManager的.setTorchMode()方法。 cameraCharacteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE)獲取該相機特征是否可獲取閃光燈。 CameraManager cameraManager (CameraManager) getSystemService(CAMERA_SE…

在 vscode 中的json文件寫注釋,不報錯的解決辦法

打開 vscode 的「設置」&#xff0c;搜索&#xff1a;files: associations&#xff0c;然后添加 *.json jsonc最后

Nginx 配置錯誤導致的漏洞

目錄 1. CRLF注入漏洞 Bottle HTTP頭注入漏洞 2.目錄穿越漏洞 3. http add_header被覆蓋 本篇要復現的漏洞實驗有一個網站直接為我們提供了Docker的環境&#xff0c;我們只需要下載下來就可以使用&#xff1a; Docker環境的安裝可以參考&#xff1a;Docker安裝 漏洞環境的…

Docker rm 命令

docker rm&#xff1a;刪除一個或多個容器。 語法&#xff1a; docker rm [OPTIONS] CONTAINER [CONTAINER...]OPTIONS說明&#xff1a; -f&#xff1a;通過SIGKILL信號強制刪除一個運行中的容器。 -l &#xff1a;移除容器間的網絡連接&#xff0c;而非容器本身。 -v &…

2023亞太杯數學建模A題思路代碼分析

已經完成A題完整思路代碼&#xff0c;文末名片查看獲取 A題就是我們機器學習中的一個圖像識別&#xff0c;他是水果圖像識別&#xff0c;就是蘋果識別的一個問題&#xff0c;我們用到的方法基本是使用深度學習中的卷積神經網絡來進行識別和分類 問題一&#xff1a;基于附件1中…

展現天津援疆工作成果 “團結村里看振興”媒體采風團走進和田

央廣網天津11月19日消息(記者周思楊)11月18日&#xff0c;由媒體記者、書法和攝影家、旅行社企業代表等40余人組成的“團結村里看振興”媒體采風團走進新疆和田。在接下來的一周時間里&#xff0c;采風團將走訪天津援疆和田地區策勒縣、于田縣、民豐縣鄉村振興示范村&#xff0…

HTML CSS登錄網頁設計

一、效果圖: 二、HTML代碼: <!DOCTYPE html> <!-- 定義HTML5文檔 --> <html lang="en"> …

在全球碳市場中嶄露頭角的中碳CCNG

在全球氣候治理的大背景下&#xff0c;中國碳中和發展集團有限公司&#xff08;簡稱中國碳中和&#xff09;正在成為全球碳交易市場的一個重要參與者。隨著國際社會對碳排放的日益關注&#xff0c;中國碳中和憑借其在碳資產開發、咨詢與管理等領域的深厚積累&#xff0c;正成為…

acedInitGet 函數

acedInitGet 函數是 AutoCAD 的 C++ API(ObjectARX)中用于初始化下一次用戶輸入操作選項的函數。以下是該函數簽名及其組成部分的中文翻譯和解釋: extern "C" int acedInitGet(int val,const ACHAR * kwl );cpp 復制 extern “C”:指定函數使用 C 語言鏈接(lin…

LeetCode93. Restore IP Addresses

文章目錄 一、題目二、題解 一、題目 A valid IP address consists of exactly four integers separated by single dots. Each integer is between 0 and 255 (inclusive) and cannot have leading zeros. For example, “0.1.2.201” and “192.168.1.1” are valid IP add…

視頻剪輯新招:批量隨機分割,分享精彩瞬間

隨著社交媒體的普及&#xff0c;短視頻已經成為分享生活、交流信息的重要方式。為制作出吸引的短視頻&#xff0c;許多創作者都投入了大量的時間和精力進行剪輯。然而&#xff0c;對于一些沒有剪輯經驗的新手來說&#xff0c;這個過程可能會非常繁瑣。現在一起來看云炫AI智剪批…

楊傳輝:從一體化架構,到一體化產品,為關鍵業務負載打造一體化數據庫

在剛剛結束的年度發布會上&#xff0c;OceanBase正式推出一體化數據庫的首個長期支持版本 4.2.1 LTS&#xff0c;這是面向 OLTP 核心場景的全功能里程碑版本&#xff0c;相比上一個 3.2.4 LTS 版本&#xff0c;新版本能力全面提升&#xff0c;適應場景更加豐富&#xff0c;有更…

web前端之若依框架圖標對照表、node獲取文件夾中的文件名,并通過數組返回文件名、在html文件中引入.svg文件、require、icon

MENU 前言效果圖htmlJavaScripstylenode獲取文件夾中的文件名 前言 需要把若依原有的icon的svg文件拿到哦&#xff01; 注意看生成svg的路徑。 效果圖 html <div id"idSvg" class"svg_box"></div>JavaScrip let listSvg [404, bug, build, …

02 如何快速讀懂一個C++程序

系列文章目錄 02 如何快速讀懂一個C程序 目錄 系列文章目錄 文章目錄 前言 一、C 的基本語法 二、如何看懂一個c程序&#xff1f; 1.了解程序結構 2.C 中的分號 & 語句塊 3.C 注釋 總結 前言 C 是一種高級編程語言&#xff0c;它具有豐富的特性&#xff0c;用于…

CentOS7安裝Docker運行環境

1 引言 Docker 是一個用于開發&#xff0c;交付和運行應用程序的開放平臺。Docker 使您能夠將應用程序與基礎架構分開&#xff0c;從而可以快速交付軟件。借助 Docker&#xff0c;您可以與管理應用程序相同的方式來管理基礎架構。通過利用 Docker 的方法來快速交付&#xff0c;…