英特爾繼續為X86S準備Linux內核
將近一年前,英特爾發布了X86S 規範(以前稱為”X86-S”),透過取消對16 位元和32 位元作業系統的支援來簡化英特爾架構。X86S 是向前邁出的一大步,它放棄了傳統模式,改進了5 級分頁,並對x86_64 進行了其他現代化改進。隨著Linux 6.9 核心的推出,更多的X86S 位元將在這項持續努力中到位。
一夜之間,Linux 6.9 合併視窗中的x86 啟動改進就已發布。這次合併將繼續改進x86 早期啟動程式碼,使其與位置無關。最終的目標是讓整個核心核心都能使用位置獨立程式碼(-fPIC)建構。此外,還有早期控制台改進、一些微優化和清理,以及更多X86S 位元。
在Linux 6.9 中的X86S 工作中,有一部分是為了適應在Ring 0 中移除相容模式,因此需要重新編寫”trampoline_start64″程式碼。英特爾Linux 工程師基里爾-舒特莫夫(Kirill Shutemov)解釋:
“重新修改了trampoline_start64()函數,只有在需要更改分頁模式時才進入相容模式。如果CPU 已經處於所需的分頁模式,它將在長模式下繼續運作。
只要CPU 已經處於正確的分頁模式,這項修改將允許輔助CPU 在X86S 機器上啟動。
未來,將有一種機制可以在分頁模式之間進行切換,而無需停用分頁模式。”
是的,原來公佈的X86-S 現在被稱為X86S。英特爾Linux 開發人員最近一直稱其為X86S,而事實上,英特爾原始規範已於11 月悄然更新為v1.1,並在修訂歷史中註明名稱確實已從X86-S 變為X86S。
除了正在進行的X86S 工作外,Linux 6.9 還因合併英特爾FRED而備受關注,這也是未來處理器的另一次大修……有可能與X86S 同時進行。
Linux 6.9 的所有X86/boot 改動都在此pull request中列出。