diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/kvm_host.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 3cf0ede3fd73..99963f36a6db 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h | |||
@@ -127,6 +127,10 @@ struct kvm { | |||
127 | struct kvm_coalesced_mmio_ring *coalesced_mmio_ring; | 127 | struct kvm_coalesced_mmio_ring *coalesced_mmio_ring; |
128 | #endif | 128 | #endif |
129 | 129 | ||
130 | #ifdef CONFIG_HAVE_KVM_IRQCHIP | ||
131 | struct hlist_head mask_notifier_list; | ||
132 | #endif | ||
133 | |||
130 | #ifdef KVM_ARCH_WANT_MMU_NOTIFIER | 134 | #ifdef KVM_ARCH_WANT_MMU_NOTIFIER |
131 | struct mmu_notifier mmu_notifier; | 135 | struct mmu_notifier mmu_notifier; |
132 | unsigned long mmu_notifier_seq; | 136 | unsigned long mmu_notifier_seq; |
@@ -320,6 +324,19 @@ struct kvm_assigned_dev_kernel { | |||
320 | struct pci_dev *dev; | 324 | struct pci_dev *dev; |
321 | struct kvm *kvm; | 325 | struct kvm *kvm; |
322 | }; | 326 | }; |
327 | |||
328 | struct kvm_irq_mask_notifier { | ||
329 | void (*func)(struct kvm_irq_mask_notifier *kimn, bool masked); | ||
330 | int irq; | ||
331 | struct hlist_node link; | ||
332 | }; | ||
333 | |||
334 | void kvm_register_irq_mask_notifier(struct kvm *kvm, int irq, | ||
335 | struct kvm_irq_mask_notifier *kimn); | ||
336 | void kvm_unregister_irq_mask_notifier(struct kvm *kvm, int irq, | ||
337 | struct kvm_irq_mask_notifier *kimn); | ||
338 | void kvm_fire_mask_notifiers(struct kvm *kvm, int irq, bool mask); | ||
339 | |||
323 | void kvm_set_irq(struct kvm *kvm, int irq_source_id, int irq, int level); | 340 | void kvm_set_irq(struct kvm *kvm, int irq_source_id, int irq, int level); |
324 | void kvm_notify_acked_irq(struct kvm *kvm, unsigned gsi); | 341 | void kvm_notify_acked_irq(struct kvm *kvm, unsigned gsi); |
325 | void kvm_register_irq_ack_notifier(struct kvm *kvm, | 342 | void kvm_register_irq_ack_notifier(struct kvm *kvm, |