arch/riscv 開發者維護指南¶
概述¶
RISC-V 指令集架構是開放開發的:正在進行的草案可供所有人審查和實驗實現。新的模組或擴充套件草案在開發過程中可能會發生變化 - 有時與以前的草案不相容。這種靈活性給 RISC-V Linux 的維護帶來了挑戰。 Linux 維護者不贊成頻繁變動,Linux 開發過程更喜歡經過良好審查和測試的程式碼,而不是實驗性程式碼。我們希望將這些相同的原則擴充套件到將被接受包含在核心中的 RISC-V 相關程式碼。
Patchwork¶
RISC-V 有一個 patchwork 例項,可以在其中檢查補丁的狀態
如果您的補丁未出現在預設檢視中,則 RISC-V 維護者可能已請求更改,或者希望將其應用於另一個樹。
自動化會針對此 patchwork 例項執行,在補丁到達時構建/測試補丁。 自動化根據補丁是否被檢測為修復程式,將補丁應用於 RISC-V for-next 和 fixes 分支的當前 HEAD。 如果這些失敗,它將使用 RISC-V master 分支。 系列已應用到的確切提交將在 patchwork 上註明。 任何檢查失敗的補丁都不太可能被應用,並且在大多數情況下需要重新提交。
提交清單附錄¶
如果新模組或擴充套件的規範被列為將來不太可能不相容地更改,我們才會接受這些模組或擴充套件的補丁。 對於 RISC-V 基金會的規範,這意味著“Frozen”(凍結)或“Ratified”(批准),對於 UEFI 論壇規範,這意味著已釋出的 ECR。(當然,開發人員可以維護自己的 Linux 核心樹,其中包含他們希望的任何草案擴充套件的程式碼。)
此外,RISC-V 規範允許實現者建立他們自己的自定義擴充套件。 這些自定義擴充套件不需要經過 RISC-V 基金會的任何審查或批准過程。 為了避免為特定於實現者的 RISC-V 擴充套件新增核心程式碼所帶來的維護複雜性和潛在的效能影響,我們將只考慮滿足以下條件的擴充套件的補丁:
已由 RISC-V 基金會正式凍結或批准,或者
按照標準的 Linux 實踐,已在廣泛可用的硬體中實現。
(當然,實現者可以維護自己的 Linux 核心樹,其中包含他們希望的任何自定義擴充套件的程式碼。)