1 .. SPDX-License-Identifier: GPL-2.0
3 arch/riscv maintenance guidelines for developers
4 ================================================
8 The RISC-V instruction set architecture is developed in the open:
9 in-progress drafts are available for all to review and to experiment
10 with implementations. New module or extension drafts can change
11 during the development process - sometimes in ways that are
12 incompatible with previous drafts. This flexibility can present a
13 challenge for RISC-V Linux maintenance. Linux maintainers disapprove
14 of churn, and the Linux development process prefers well-reviewed and
15 tested code over experimental code. We wish to extend these same
16 principles to the RISC-V-related code that will be accepted for
17 inclusion in the kernel.
19 Submit Checklist Addendum
20 -------------------------
21 We'll only accept patches for new modules or extensions if the
22 specifications for those modules or extensions are listed as being
23 unlikely to be incompatibly changed in the future. For
24 specifications from the RISC-V foundation this means "Frozen" or
25 "Ratified", for the UEFI forum specifications this means a published
26 ECR. (Developers may, of course, maintain their own Linux kernel trees
27 that contain code for any draft extensions that they wish.)
29 Additionally, the RISC-V specification allows implementers to create
30 their own custom extensions. These custom extensions aren't required
31 to go through any review or ratification process by the RISC-V
32 Foundation. To avoid the maintenance complexity and potential
33 performance impact of adding kernel code for implementor-specific
34 RISC-V extensions, we'll only consider patches for extensions that either:
36 - Have been officially frozen or ratified by the RISC-V Foundation, or
37 - Have been implemented in hardware that is widely available, per standard
40 (Implementers, may, of course, maintain their own Linux kernel trees containing
41 code for any custom extensions that they wish.)