diff options
Diffstat (limited to 'include/linux/kvm.h')
-rw-r--r-- | include/linux/kvm.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index a74a1fcc28e9..230a91aa61c9 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h | |||
@@ -307,6 +307,28 @@ struct kvm_guest_debug { | |||
307 | struct kvm_guest_debug_arch arch; | 307 | struct kvm_guest_debug_arch arch; |
308 | }; | 308 | }; |
309 | 309 | ||
310 | enum { | ||
311 | kvm_ioeventfd_flag_nr_datamatch, | ||
312 | kvm_ioeventfd_flag_nr_pio, | ||
313 | kvm_ioeventfd_flag_nr_deassign, | ||
314 | kvm_ioeventfd_flag_nr_max, | ||
315 | }; | ||
316 | |||
317 | #define KVM_IOEVENTFD_FLAG_DATAMATCH (1 << kvm_ioeventfd_flag_nr_datamatch) | ||
318 | #define KVM_IOEVENTFD_FLAG_PIO (1 << kvm_ioeventfd_flag_nr_pio) | ||
319 | #define KVM_IOEVENTFD_FLAG_DEASSIGN (1 << kvm_ioeventfd_flag_nr_deassign) | ||
320 | |||
321 | #define KVM_IOEVENTFD_VALID_FLAG_MASK ((1 << kvm_ioeventfd_flag_nr_max) - 1) | ||
322 | |||
323 | struct kvm_ioeventfd { | ||
324 | __u64 datamatch; | ||
325 | __u64 addr; /* legal pio/mmio address */ | ||
326 | __u32 len; /* 1, 2, 4, or 8 bytes */ | ||
327 | __s32 fd; | ||
328 | __u32 flags; | ||
329 | __u8 pad[36]; | ||
330 | }; | ||
331 | |||
310 | #define KVM_TRC_SHIFT 16 | 332 | #define KVM_TRC_SHIFT 16 |
311 | /* | 333 | /* |
312 | * kvm trace categories | 334 | * kvm trace categories |
@@ -412,6 +434,7 @@ struct kvm_guest_debug { | |||
412 | #ifdef __KVM_HAVE_PIT_STATE2 | 434 | #ifdef __KVM_HAVE_PIT_STATE2 |
413 | #define KVM_CAP_PIT_STATE2 35 | 435 | #define KVM_CAP_PIT_STATE2 35 |
414 | #endif | 436 | #endif |
437 | #define KVM_CAP_IOEVENTFD 36 | ||
415 | 438 | ||
416 | #ifdef KVM_CAP_IRQ_ROUTING | 439 | #ifdef KVM_CAP_IRQ_ROUTING |
417 | 440 | ||
@@ -520,6 +543,7 @@ struct kvm_irqfd { | |||
520 | #define KVM_IRQFD _IOW(KVMIO, 0x76, struct kvm_irqfd) | 543 | #define KVM_IRQFD _IOW(KVMIO, 0x76, struct kvm_irqfd) |
521 | #define KVM_CREATE_PIT2 _IOW(KVMIO, 0x77, struct kvm_pit_config) | 544 | #define KVM_CREATE_PIT2 _IOW(KVMIO, 0x77, struct kvm_pit_config) |
522 | #define KVM_SET_BOOT_CPU_ID _IO(KVMIO, 0x78) | 545 | #define KVM_SET_BOOT_CPU_ID _IO(KVMIO, 0x78) |
546 | #define KVM_IOEVENTFD _IOW(KVMIO, 0x79, struct kvm_ioeventfd) | ||
523 | 547 | ||
524 | /* | 548 | /* |
525 | * ioctls for vcpu fds | 549 | * ioctls for vcpu fds |