]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/kvm.h
[PATCH] knfsd: add some new fsid types
[linux-2.6-omap-h63xx.git] / include / linux / kvm.h
index 5bb2c3c585c1fbd3b878ca44da7f7138c8cd5059..f3604593fb76ded7fe359da2eea2e2ee640bd5b5 100644 (file)
@@ -11,6 +11,8 @@
 #include <asm/types.h>
 #include <linux/ioctl.h>
 
+#define KVM_API_VERSION 3
+
 /*
  * Architectural interrupt line count, and the size of the bitmap needed
  * to hold them.
@@ -43,6 +45,8 @@ enum kvm_exit_reason {
        KVM_EXIT_DEBUG            = 4,
        KVM_EXIT_HLT              = 5,
        KVM_EXIT_MMIO             = 6,
+       KVM_EXIT_IRQ_WINDOW_OPEN  = 7,
+       KVM_EXIT_SHUTDOWN         = 8,
 };
 
 /* for KVM_RUN */
@@ -51,11 +55,21 @@ struct kvm_run {
        __u32 vcpu;
        __u32 emulated;  /* skip current instruction */
        __u32 mmio_completed; /* mmio request completed */
+       __u8 request_interrupt_window;
+       __u8 padding1[3];
 
        /* out */
        __u32 exit_type;
        __u32 exit_reason;
        __u32 instruction_length;
+       __u8 ready_for_interrupt_injection;
+       __u8 if_flag;
+       __u16 padding2;
+
+       /* in (pre_kvm_run), out (post_kvm_run) */
+       __u64 cr8;
+       __u64 apic_base;
+
        union {
                /* KVM_EXIT_UNKNOWN */
                struct {
@@ -173,6 +187,7 @@ struct kvm_translation {
        __u8  valid;
        __u8  writeable;
        __u8  usermode;
+       __u8  pad[5];
 };
 
 /* for KVM_INTERRUPT */
@@ -209,6 +224,7 @@ struct kvm_dirty_log {
 
 #define KVMIO 0xAE
 
+#define KVM_GET_API_VERSION       _IO(KVMIO, 1)
 #define KVM_RUN                   _IOWR(KVMIO, 2, struct kvm_run)
 #define KVM_GET_REGS              _IOWR(KVMIO, 3, struct kvm_regs)
 #define KVM_SET_REGS              _IOW(KVMIO, 4, struct kvm_regs)