今年早些時候 Linux 中的 UEFI 代碼已經進行過清理,隨後一系列 RISC-V UEFI 支持的早期補丁被提出,形成了更為全面的補丁集,用於在 Linux 下啓用 RISC-V 的 UEFI 支持。近日則又有開發者提交了一系列補丁,解決了大量問題的同時為 Linux 下支持 RISC-V UEFI 新增了一些新的能力。
開發者 Atish Patra 來自西部數據,他在上週四提交了 11 個補丁,根據他的介紹,補丁 1-6 是準備性修補程序,可修復一些通用的 efi 和 riscv 問題;補丁 7-9 增加了對 RISC-V 的 efi stub 支持,並已在四月份提交審核;補丁 10 重命名了 arm-init,以便可以在不同的代碼中使用該基礎;補丁 11 則為 RISC-V 添加了運行時服務。
總結起來,這一系列補丁的主要貢獻在於:
添加了完整的 ioremap 支持。
添加了 efi 運行時服務支持。
修復了 mm 問題。
目前補丁已在 Qemu 上使用 U-Boot 中的 bootefi 命令進行了驗證,在 RISC-V 32 位與 RISC-V 64 位上都通過測試。不過 RISC-V 上 EDK2 代碼的某些問題仍在解決中,主要是 SPI 與網絡驅動相關的問題。
這一系列補丁打在 Linux 內核 5.8-rc2 上,目前還處於 PR 狀態,等待代碼審核,如果解決了相關問題,並且最終被接受,那麼在 Linux 5.8 發佈的時候應該能夠看到。