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