0001 .. SPDX-License-Identifier: GPL-2.0
0002
0003 ================================
0004 Review checklist for kvm patches
0005 ================================
0006
0007 1. The patch must follow Documentation/process/coding-style.rst and
0008 Documentation/process/submitting-patches.rst.
0009
0010 2. Patches should be against kvm.git master branch.
0011
0012 3. If the patch introduces or modifies a new userspace API:
0013 - the API must be documented in Documentation/virt/kvm/api.rst
0014 - the API must be discoverable using KVM_CHECK_EXTENSION
0015
0016 4. New state must include support for save/restore.
0017
0018 5. New features must default to off (userspace should explicitly request them).
0019 Performance improvements can and should default to on.
0020
0021 6. New cpu features should be exposed via KVM_GET_SUPPORTED_CPUID2
0022
0023 7. Emulator changes should be accompanied by unit tests for qemu-kvm.git
0024 kvm/test directory.
0025
0026 8. Changes should be vendor neutral when possible. Changes to common code
0027 are better than duplicating changes to vendor code.
0028
0029 9. Similarly, prefer changes to arch independent code than to arch dependent
0030 code.
0031
0032 10. User/kernel interfaces and guest/host interfaces must be 64-bit clean
0033 (all variables and sizes naturally aligned on 64-bit; use specific types
0034 only - u64 rather than ulong).
0035
0036 11. New guest visible features must either be documented in a hardware manual
0037 or be accompanied by documentation.
0038
0039 12. Features must be robust against reset and kexec - for example, shared
0040 host/guest memory must be unshared to prevent the host from writing to
0041 guest memory that the guest has not reserved for this purpose.