aboutsummaryrefslogtreecommitdiff
path: root/hw/msix.h
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2012-05-17 10:32:31 -0300
committerAvi Kivity <avi@redhat.com>2012-05-21 19:22:49 +0300
commit2cdfe53c5f502415932de552c0c7dad369954d4c (patch)
tree7eb856f0631583a65770a9e6417962612005cedd /hw/msix.h
parent5b5f1330da2d7e5b5cbde8c60738774b2bd8692f (diff)
msix: Introduce vector notifiers
Vector notifiers shall be triggered by the MSI/MSI-X core whenever a relevant configuration change is programmed by the guest. In case of MSI-X, changes are reported when the effective mask (global && per-vector) alters its state. On unmask, the current vector configuration is included in the event report. This allows users - e.g. virtio-pci layer - to transfer this information to external MSI-X routing subsystems - like vhost + KVM in-kernel irqchip. This implementation only provides MSI-X support, but extension to MSI is feasible and will be provided later on when adding support for KVM PCI device assignment. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'hw/msix.h')
-rw-r--r--hw/msix.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/msix.h b/hw/msix.h
index 5aba22b858..f33f18b484 100644
--- a/hw/msix.h
+++ b/hw/msix.h
@@ -29,4 +29,8 @@ void msix_notify(PCIDevice *dev, unsigned vector);
void msix_reset(PCIDevice *dev);
+int msix_set_vector_notifiers(PCIDevice *dev,
+ MSIVectorUseNotifier use_notifier,
+ MSIVectorReleaseNotifier release_notifier);
+void msix_unset_vector_notifiers(PCIDevice *dev);
#endif