Hi,
some nitpicks about the ioctl interfaces while it still can be done ;)
Signed-off-by: Yaniv Kamay <yaniv@xxxxxxxxxxxx>
Signed-off-by: Avi Kivity <avi@xxxxxxxxxxxx>
--- /dev/null 2006-10-25 17:42:42.376631750 +0200
+++ linux-2.6/include/linux/kvm.h 2006-10-26 15:22:01.000000000 +0200
@@ -0,0 +1,198 @@
+#ifndef __LINUX_KVM_H
+#define __LINUX_KVM_H
+
+/*
+ * Userspace interface for /dev/kvm - kernel based virtual machine
+ *
+ * Note: this interface is considered experimental and may change without
+ * notice.
+ */
+
+#include <asm/types.h>
+#include <linux/ioctl.h>
+
+/* for KVM_CREATE_MEMORY_REGION */
+struct kvm_memory_region {
+ __u32 slot;
+ __u32 flags;
+ __u64 guest_phys_addr;
+ __u64 memory_size; /* bytes */
+};
as a general rule, it's a lot better to sort structures big-to-small, to
make sure alignments inside the struct are minimized and don't suck too
much. This is especially important to get right for 32/64 bit
compatibility. This comment is true for most structures in this header
file; please consider this at least
+
+enum kvm_exit_reason {
+ KVM_EXIT_UNKNOWN,
+ KVM_EXIT_EXCEPTION,
+ KVM_EXIT_IO,
+ KVM_EXIT_CPUID,
+ KVM_EXIT_DEBUG,
+ KVM_EXIT_HLT,
+ KVM_EXIT_MMIO,
+};
it's probably nicer to use explicit enum values for the interface, just
as documentation if nothing else