KVM 补丁审查清单

  1. 补丁必须遵循 Linux 内核编码风格提交补丁:将代码纳入内核的必要指南

  2. 补丁应该基于 kvm.git master 分支。

  3. 如果补丁引入或修改了新的用户空间 API:- API 必须在 权威的 KVM (基于内核的虚拟机) API 文档 中记录 - API 必须可以使用 KVM_CHECK_EXTENSION 发现

  4. 新状态必须包括对保存/恢复的支持。

  5. 新功能必须默认为关闭(用户空间应明确请求它们)。性能改进可以并且应该默认为开启。

  6. 新的 CPU 功能应该通过 KVM_GET_SUPPORTED_CPUID2 公开

  7. 模拟器更改应附带 qemu-kvm.git kvm/test 目录的单元测试。

  8. 更改应尽可能保持厂商中立。对通用代码的更改优于复制对厂商代码的更改。

  9. 同样,更喜欢更改架构无关的代码,而不是更改架构相关的代码。

  10. 用户/内核接口和访客/主机接口必须是 64 位干净的(所有变量和大小自然地在 64 位上对齐;仅使用特定类型 - u64 而不是 ulong)。

  11. 新的访客可见功能必须在硬件手册中记录,或者附带文档。

  12. 功能必须能够可靠地应对重置和 kexec - 例如,共享主机/访客内存必须取消共享,以防止主机写入访客未为此目的保留的访客内存。