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