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 内核树,其中包含他们希望的任何自定义扩展的代码。)