18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciarch/riscv maintenance guidelines for developers 48c2ecf20Sopenharmony_ci================================================ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciOverview 78c2ecf20Sopenharmony_ci-------- 88c2ecf20Sopenharmony_ciThe RISC-V instruction set architecture is developed in the open: 98c2ecf20Sopenharmony_ciin-progress drafts are available for all to review and to experiment 108c2ecf20Sopenharmony_ciwith implementations. New module or extension drafts can change 118c2ecf20Sopenharmony_ciduring the development process - sometimes in ways that are 128c2ecf20Sopenharmony_ciincompatible with previous drafts. This flexibility can present a 138c2ecf20Sopenharmony_cichallenge for RISC-V Linux maintenance. Linux maintainers disapprove 148c2ecf20Sopenharmony_ciof churn, and the Linux development process prefers well-reviewed and 158c2ecf20Sopenharmony_citested code over experimental code. We wish to extend these same 168c2ecf20Sopenharmony_ciprinciples to the RISC-V-related code that will be accepted for 178c2ecf20Sopenharmony_ciinclusion in the kernel. 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ciSubmit Checklist Addendum 208c2ecf20Sopenharmony_ci------------------------- 218c2ecf20Sopenharmony_ciWe'll only accept patches for new modules or extensions if the 228c2ecf20Sopenharmony_cispecifications for those modules or extensions are listed as being 238c2ecf20Sopenharmony_ci"Frozen" or "Ratified" by the RISC-V Foundation. (Developers may, of 248c2ecf20Sopenharmony_cicourse, maintain their own Linux kernel trees that contain code for 258c2ecf20Sopenharmony_ciany draft extensions that they wish.) 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ciAdditionally, the RISC-V specification allows implementors to create 288c2ecf20Sopenharmony_citheir own custom extensions. These custom extensions aren't required 298c2ecf20Sopenharmony_cito go through any review or ratification process by the RISC-V 308c2ecf20Sopenharmony_ciFoundation. To avoid the maintenance complexity and potential 318c2ecf20Sopenharmony_ciperformance impact of adding kernel code for implementor-specific 328c2ecf20Sopenharmony_ciRISC-V extensions, we'll only to accept patches for extensions that 338c2ecf20Sopenharmony_cihave been officially frozen or ratified by the RISC-V Foundation. 348c2ecf20Sopenharmony_ci(Implementors, may, of course, maintain their own Linux kernel trees 358c2ecf20Sopenharmony_cicontaining code for any custom extensions that they wish.) 36