diff options
author | Jan Kiszka <jan.kiszka@web.de> | 2009-11-11 19:04:25 -0500 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-12-03 02:32:25 -0500 |
commit | 3cfc3092f40bc37c57ba556cfd8de4218f2135ab (patch) | |
tree | 562d61febfe7d3c99ea08e376b3f3c016cff613c /include/linux | |
parent | 65ac7264043740572ba804edca03c374d70427c9 (diff) |
KVM: x86: Add KVM_GET/SET_VCPU_EVENTS
This new IOCTL exports all yet user-invisible states related to
exceptions, interrupts, and NMIs. Together with appropriate user space
changes, this fixes sporadic problems of vmsave/restore, live migration
and system reset.
[avi: future-proof abi by adding a flags field]
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/kvm.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index 976f4d181858..92045a92d714 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h | |||
@@ -489,6 +489,9 @@ struct kvm_ioeventfd { | |||
489 | #endif | 489 | #endif |
490 | #define KVM_CAP_ADJUST_CLOCK 39 | 490 | #define KVM_CAP_ADJUST_CLOCK 39 |
491 | #define KVM_CAP_INTERNAL_ERROR_DATA 40 | 491 | #define KVM_CAP_INTERNAL_ERROR_DATA 40 |
492 | #ifdef __KVM_HAVE_VCPU_EVENTS | ||
493 | #define KVM_CAP_VCPU_EVENTS 41 | ||
494 | #endif | ||
492 | 495 | ||
493 | #ifdef KVM_CAP_IRQ_ROUTING | 496 | #ifdef KVM_CAP_IRQ_ROUTING |
494 | 497 | ||
@@ -672,6 +675,9 @@ struct kvm_clock_data { | |||
672 | /* IA64 stack access */ | 675 | /* IA64 stack access */ |
673 | #define KVM_IA64_VCPU_GET_STACK _IOR(KVMIO, 0x9a, void *) | 676 | #define KVM_IA64_VCPU_GET_STACK _IOR(KVMIO, 0x9a, void *) |
674 | #define KVM_IA64_VCPU_SET_STACK _IOW(KVMIO, 0x9b, void *) | 677 | #define KVM_IA64_VCPU_SET_STACK _IOW(KVMIO, 0x9b, void *) |
678 | /* Available with KVM_CAP_VCPU_EVENTS */ | ||
679 | #define KVM_GET_VCPU_EVENTS _IOR(KVMIO, 0x9f, struct kvm_vcpu_events) | ||
680 | #define KVM_SET_VCPU_EVENTS _IOW(KVMIO, 0xa0, struct kvm_vcpu_events) | ||
675 | 681 | ||
676 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) | 682 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) |
677 | 683 | ||