blob: a83b27635fdd66eb2b03e120a43cd49fb04c13ae [file] [log] [blame]
Avi Kivitycf3e3d32010-06-24 14:10:09 +03001Review checklist for kvm patches
2================================
3
Mauro Carvalho Chehab8c27ceff32016-10-18 10:12:27 -020041. The patch must follow Documentation/process/coding-style.rst and
5 Documentation/process/submitting-patches.rst.
Avi Kivitycf3e3d32010-06-24 14:10:09 +03006
72. Patches should be against kvm.git master branch.
8
93. If the patch introduces or modifies a new userspace API:
Rob Landley61516582011-05-06 09:27:36 -070010 - the API must be documented in Documentation/virtual/kvm/api.txt
Avi Kivitycf3e3d32010-06-24 14:10:09 +030011 - the API must be discoverable using KVM_CHECK_EXTENSION
12
134. New state must include support for save/restore.
14
155. New features must default to off (userspace should explicitly request them).
16 Performance improvements can and should default to on.
17
186. New cpu features should be exposed via KVM_GET_SUPPORTED_CPUID2
19
207. Emulator changes should be accompanied by unit tests for qemu-kvm.git
21 kvm/test directory.
22
238. Changes should be vendor neutral when possible. Changes to common code
24 are better than duplicating changes to vendor code.
25
269. Similarly, prefer changes to arch independent code than to arch dependent
27 code.
28
2910. User/kernel interfaces and guest/host interfaces must be 64-bit clean
30 (all variables and sizes naturally aligned on 64-bit; use specific types
31 only - u64 rather than ulong).
32
3311. New guest visible features must either be documented in a hardware manual
34 or be accompanied by documentation.
35
3612. Features must be robust against reset and kexec - for example, shared
37 host/guest memory must be unshared to prevent the host from writing to
38 guest memory that the guest has not reserved for this purpose.