龍芯 CPU 已經一隻腳邁入 Linux 5.19
在本周為龍芯 CPU 架構支持進入 Linux 5.19 而進行的瘋狂衝刺之後,Linus Torvalds 今天成功地將這個受 MIPS64 啟發的中國架構代碼合併到了 Linux 主線內核中。然而,由於一些代碼尚未通過審查,雖然該 CPU 架構代碼已經到位,但一些關鍵的驅動程序還沒有到位,因此 Linux 5.19 還無法龍芯架構上啟動。
如果你不太了解這件事的進展,我來補充介紹一下: 龍芯架構 是由龍芯公司開發的 CPU 架構,長期以來以其基於 MIPS64 的系統而為人所熟知。但是隨著上游 MIPS64 架構已經實際消亡,龍芯公司開始開發他們自己的 ISA。龍芯架構自稱受到了 MIPS64 和 RISC-V 的啟發,但一些龍芯架構的內核代碼實際上是重新使用或精密複製自現有的 MIPS 代碼。
今年早些時候,龍芯架構被 添加到 GCC 12 中作為主要系統編譯器。與其他 Arm 或 RISC-V 設計相比,目前這一代 龍芯 3A5000 CPU 的性能 在現今階段並不太誘人。不過我們將拭目以待這個中國國產 CPU 架構在未來幾年的發展情況。
正如本周早些時候所寫的,有迫切的壓力促使 龍芯架構進入 Linux 5.19,即使這意味著系統還無法啟動。開發人員希望將 CPU 架構的代碼主線化,這樣他們就能騰出手來為 GNU C 庫(Glibc)提交龍芯架構的支持代碼。主線化他們的 Glibc 目標首先需要有一個堅實的用戶空間 ABI 來解決內核支持。但由於 Glibc 2.38 預計在 8 月發布,龍芯架構需要合併到 Linux 5.19,以便有足夠的時間在 7 月發布,才能使龍芯架構的代碼趕得上 Glibc 的下一個版本截止線。
現在合併龍芯架構也減少了對 Linux 5.20 中可能出現的任何主線樹範圍變化的維護負擔。
因此,大部分的龍芯架構代碼已經出現在 Linux 5.19 中了,但缺少一些啟動所需的 EFI 代碼,IRQ 驅動與 Linux 的 MIPS 支持共享同一段代碼,但由於情況複雜,還不能使用,PCI 部分的龍芯代碼需要修改並通過 PCI 子系統區域進行合併。
龍芯架構的合併 對內核來說意味著增加了 21000 行的新代碼,這還不包括尚未到達的所需驅動程序。據推測,到今年夏天晚些時候的 Linux 5.20 內核開發周期時,其餘所需的驅動支持將會通過審查,從而產生一個可啟動的龍芯架構系統。
就在四年前,著名的 Linux 內核開發者 Arnd Bergmann 預測 C-SKY 將是「我們最後一個添加到內核的新 CPU 架構」。C-SKY 是另一個中國架構,當時的想法是所有未來的 CPU 工作都將走向 RISC-V,但現在發現龍芯架構也許將是最後一個添加到 Linux 內核的新 CPU 架構。
via: https://www.phoronix.com/scan.php?page=news_item&px=LoongArch-Merged-Linux-5.19
作者: Michael Larabel 選題:wxy 譯者:wxy 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive