diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/kvm.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index f18b86fa8655..44fd7fa0af2b 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h | |||
@@ -83,18 +83,22 @@ struct kvm_irqchip { | |||
83 | #define KVM_EXIT_S390_SIEIC 13 | 83 | #define KVM_EXIT_S390_SIEIC 13 |
84 | #define KVM_EXIT_S390_RESET 14 | 84 | #define KVM_EXIT_S390_RESET 14 |
85 | #define KVM_EXIT_DCR 15 | 85 | #define KVM_EXIT_DCR 15 |
86 | #define KVM_EXIT_NMI 16 | ||
87 | #define KVM_EXIT_NMI_WINDOW_OPEN 17 | ||
86 | 88 | ||
87 | /* for KVM_RUN, returned by mmap(vcpu_fd, offset=0) */ | 89 | /* for KVM_RUN, returned by mmap(vcpu_fd, offset=0) */ |
88 | struct kvm_run { | 90 | struct kvm_run { |
89 | /* in */ | 91 | /* in */ |
90 | __u8 request_interrupt_window; | 92 | __u8 request_interrupt_window; |
91 | __u8 padding1[7]; | 93 | __u8 request_nmi_window; |
94 | __u8 padding1[6]; | ||
92 | 95 | ||
93 | /* out */ | 96 | /* out */ |
94 | __u32 exit_reason; | 97 | __u32 exit_reason; |
95 | __u8 ready_for_interrupt_injection; | 98 | __u8 ready_for_interrupt_injection; |
96 | __u8 if_flag; | 99 | __u8 if_flag; |
97 | __u8 padding2[2]; | 100 | __u8 ready_for_nmi_injection; |
101 | __u8 padding2; | ||
98 | 102 | ||
99 | /* in (pre_kvm_run), out (post_kvm_run) */ | 103 | /* in (pre_kvm_run), out (post_kvm_run) */ |
100 | __u64 cr8; | 104 | __u64 cr8; |
@@ -387,6 +391,7 @@ struct kvm_trace_rec { | |||
387 | #define KVM_CAP_DEVICE_ASSIGNMENT 17 | 391 | #define KVM_CAP_DEVICE_ASSIGNMENT 17 |
388 | #endif | 392 | #endif |
389 | #define KVM_CAP_IOMMU 18 | 393 | #define KVM_CAP_IOMMU 18 |
394 | #define KVM_CAP_NMI 19 | ||
390 | 395 | ||
391 | /* | 396 | /* |
392 | * ioctls for VM fds | 397 | * ioctls for VM fds |
@@ -458,6 +463,8 @@ struct kvm_trace_rec { | |||
458 | #define KVM_S390_INITIAL_RESET _IO(KVMIO, 0x97) | 463 | #define KVM_S390_INITIAL_RESET _IO(KVMIO, 0x97) |
459 | #define KVM_GET_MP_STATE _IOR(KVMIO, 0x98, struct kvm_mp_state) | 464 | #define KVM_GET_MP_STATE _IOR(KVMIO, 0x98, struct kvm_mp_state) |
460 | #define KVM_SET_MP_STATE _IOW(KVMIO, 0x99, struct kvm_mp_state) | 465 | #define KVM_SET_MP_STATE _IOW(KVMIO, 0x99, struct kvm_mp_state) |
466 | /* Available with KVM_CAP_NMI */ | ||
467 | #define KVM_NMI _IO(KVMIO, 0x9a) | ||
461 | 468 | ||
462 | #define KVM_TRC_INJ_VIRQ (KVM_TRC_HANDLER + 0x02) | 469 | #define KVM_TRC_INJ_VIRQ (KVM_TRC_HANDLER + 0x02) |
463 | #define KVM_TRC_REDELIVER_EVT (KVM_TRC_HANDLER + 0x03) | 470 | #define KVM_TRC_REDELIVER_EVT (KVM_TRC_HANDLER + 0x03) |