18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci================================
48c2ecf20Sopenharmony_ciReview checklist for kvm patches
58c2ecf20Sopenharmony_ci================================
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci1.  The patch must follow Documentation/process/coding-style.rst and
88c2ecf20Sopenharmony_ci    Documentation/process/submitting-patches.rst.
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci2.  Patches should be against kvm.git master branch.
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci3.  If the patch introduces or modifies a new userspace API:
138c2ecf20Sopenharmony_ci    - the API must be documented in Documentation/virt/kvm/api.rst
148c2ecf20Sopenharmony_ci    - the API must be discoverable using KVM_CHECK_EXTENSION
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci4.  New state must include support for save/restore.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci5.  New features must default to off (userspace should explicitly request them).
198c2ecf20Sopenharmony_ci    Performance improvements can and should default to on.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci6.  New cpu features should be exposed via KVM_GET_SUPPORTED_CPUID2
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci7.  Emulator changes should be accompanied by unit tests for qemu-kvm.git
248c2ecf20Sopenharmony_ci    kvm/test directory.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci8.  Changes should be vendor neutral when possible.  Changes to common code
278c2ecf20Sopenharmony_ci    are better than duplicating changes to vendor code.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci9.  Similarly, prefer changes to arch independent code than to arch dependent
308c2ecf20Sopenharmony_ci    code.
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci10. User/kernel interfaces and guest/host interfaces must be 64-bit clean
338c2ecf20Sopenharmony_ci    (all variables and sizes naturally aligned on 64-bit; use specific types
348c2ecf20Sopenharmony_ci    only - u64 rather than ulong).
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci11. New guest visible features must either be documented in a hardware manual
378c2ecf20Sopenharmony_ci    or be accompanied by documentation.
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci12. Features must be robust against reset and kexec - for example, shared
408c2ecf20Sopenharmony_ci    host/guest memory must be unshared to prevent the host from writing to
418c2ecf20Sopenharmony_ci    guest memory that the guest has not reserved for this purpose.
42