diff options
| author | Jagannathan Raman <jag.raman@oracle.com> | 2021-01-29 11:46:19 -0500 |
|---|---|---|
| committer | Stefan Hajnoczi <stefanha@redhat.com> | 2021-02-10 09:23:28 +0000 |
| commit | bd36adb8df5d62a2b4d4ded6357fb50b69a508fa (patch) | |
| tree | 6660a13fbf828e53aa204f57b3c6a46d60c87581 /include/hw/remote/proxy.h | |
| parent | c746b74a7d881c7da4afdd7b29353a90c445a8ab (diff) | |
| download | focaccia-qemu-bd36adb8df5d62a2b4d4ded6357fb50b69a508fa.tar.gz focaccia-qemu-bd36adb8df5d62a2b4d4ded6357fb50b69a508fa.zip | |
multi-process: create IOHUB object to handle irq
IOHUB object is added to manage PCI IRQs. It uses KVM_IRQFD ioctl to create irqfd to injecting PCI interrupts to the guest. IOHUB object forwards the irqfd to the remote process. Remote process uses this fd to directly send interrupts to the guest, bypassing QEMU. Signed-off-by: John G Johnson <john.g.johnson@oracle.com> Signed-off-by: Jagannathan Raman <jag.raman@oracle.com> Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 51d5c3d54e28a68b002e3875c59599c9f5a424a1.1611938319.git.jag.raman@oracle.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'include/hw/remote/proxy.h')
| -rw-r--r-- | include/hw/remote/proxy.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/hw/remote/proxy.h b/include/hw/remote/proxy.h index 12888b4f90..741def71f1 100644 --- a/include/hw/remote/proxy.h +++ b/include/hw/remote/proxy.h @@ -12,6 +12,7 @@ #include "hw/pci/pci.h" #include "io/channel.h" #include "hw/remote/proxy-memory-listener.h" +#include "qemu/event_notifier.h" #define TYPE_PCI_PROXY_DEV "x-pci-proxy-dev" OBJECT_DECLARE_SIMPLE_TYPE(PCIProxyDev, PCI_PROXY_DEV) @@ -38,6 +39,9 @@ struct PCIProxyDev { QIOChannel *ioc; Error *migration_blocker; ProxyMemoryListener proxy_listener; + int virq; + EventNotifier intr; + EventNotifier resample; ProxyMemoryRegion region[PCI_NUM_REGIONS]; }; |