]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/kvm.h
stop_machine: fix up ftrace.c
[linux-2.6-omap-h63xx.git] / include / linux / kvm.h
index a281afeddfbb0e2a4b9dd8747cc7afdffb271b2e..0ea064cbfbc8660a7119a22546165ca3ec3387cd 100644 (file)
@@ -173,6 +173,30 @@ struct kvm_run {
        };
 };
 
+/* for KVM_REGISTER_COALESCED_MMIO / KVM_UNREGISTER_COALESCED_MMIO */
+
+struct kvm_coalesced_mmio_zone {
+       __u64 addr;
+       __u32 size;
+       __u32 pad;
+};
+
+struct kvm_coalesced_mmio {
+       __u64 phys_addr;
+       __u32 len;
+       __u32 pad;
+       __u8  data[8];
+};
+
+struct kvm_coalesced_mmio_ring {
+       __u32 first, last;
+       struct kvm_coalesced_mmio coalesced_mmio[0];
+};
+
+#define KVM_COALESCED_MMIO_MAX \
+       ((PAGE_SIZE - sizeof(struct kvm_coalesced_mmio_ring)) / \
+        sizeof(struct kvm_coalesced_mmio))
+
 /* for KVM_TRANSLATE */
 struct kvm_translation {
        /* in */
@@ -294,14 +318,14 @@ struct kvm_trace_rec {
        __u32 vcpu_id;
        union {
                struct {
-                       __u32 cycle_lo, cycle_hi;
+                       __u64 cycle_u64;
                        __u32 extra_u32[KVM_TRC_EXTRA_MAX];
                } cycle;
                struct {
                        __u32 extra_u32[KVM_TRC_EXTRA_MAX];
                } nocycle;
        } u;
-};
+} __attribute__((packed));
 
 #define KVMIO 0xAE
 
@@ -346,6 +370,7 @@ struct kvm_trace_rec {
 #define KVM_CAP_NOP_IO_DELAY 12
 #define KVM_CAP_PV_MMU 13
 #define KVM_CAP_MP_STATE 14
+#define KVM_CAP_COALESCED_MMIO 15
 
 /*
  * ioctls for VM fds
@@ -371,6 +396,10 @@ struct kvm_trace_rec {
 #define KVM_CREATE_PIT           _IO(KVMIO,  0x64)
 #define KVM_GET_PIT              _IOWR(KVMIO, 0x65, struct kvm_pit_state)
 #define KVM_SET_PIT              _IOR(KVMIO,  0x66, struct kvm_pit_state)
+#define KVM_REGISTER_COALESCED_MMIO \
+                       _IOW(KVMIO,  0x67, struct kvm_coalesced_mmio_zone)
+#define KVM_UNREGISTER_COALESCED_MMIO \
+                       _IOW(KVMIO,  0x68, struct kvm_coalesced_mmio_zone)
 
 /*
  * ioctls for vcpu fds