新的Linux 補丁建議刪除對舊i486 和早期i586 CPU 的支持
資深Linux 核心開發者Ingo Molnar 今天發布了一系列Linux 核心補丁,旨在移除對「過時」的32 位元CPU 的支援。具體來說,如果這些補丁被接受,Linux 核心將終止對舊款i486 CPU 以及早期i586 CPU 型號的支援。

雖然在現代Linux 環境中很少提及或使用,許多發行版都終止了對x86 32 位元硬體的支持,但核心仍然保留了對20 世紀90 年代初推出的舊款i486 處理器的支援。不過,今天的補丁系列將終止對i486 處理器以及早期i586 處理器的支援。這些核心補丁將移除對缺乏TSC 和CX8/CMPXCHG8B 功能的CPU 的支援。這意味著上游Linux 核心對32 位元處理器的最低支援將達到支援CMPXCHG8B 和時間戳計數器(TSC) 的初代奔騰CPU 的水平。即便如此,如果聽到有人在他們的i586 / P5 Pentium 上啟動現代Linux 核心和現代軟體堆疊,而這些補丁只是為了放棄比這更舊的硬體的CPU 支持,那還是會令人驚訝的。
Ingo Molnar 在修補程式系列中指出,移除對舊版i486 和早期i586 處理器的支援將減輕核心開發人員的維護負擔。取消這些舊硬體支援也將使內核程式碼減少一萬四千多行。 Molnar 在今天早上的RFC 補丁系列中寫道:
在x86 架構中,我們在x86-32 上提供了各種複雜的硬體模擬工具,以支援那些極少有人在現代核心上使用的老式32 位元CPU。這種相容性問題有時甚至會導致問題,人們需要花費大量時間來解決,而這些時間本來可以用來做其他事情。
正如Linus 最近所說:
“> 我真的覺得是時候放棄對i486 的支持了。”
> 根本沒有理由讓任何人在這種問題上浪費哪怕一秒鐘的開發精力。 “
本系列增加了最低核心支援功能,包括TSC 和CX8 (CMPXCHG8B) 硬體支持,從而移除了486(及其衍生產品)和早期586(及其衍生產品)支援。
這樣做可以刪除大量程式碼:
修改了80 個文件,插入了38 個代碼(+),刪除了14104 個代碼(-)。
其中大部分是math-emu/ 庫——但即使沒有math-emu,簡化也相當顯著:
修改了33 個文件,插入了38 個代碼(+),刪除了1081 個代碼(-)。 」