multi-process: create IOHUB object to handle irq
commitbd36adb8df5d62a2b4d4ded6357fb50b69a508fa
authorJagannathan Raman <jag.raman@oracle.com>
Fri, 29 Jan 2021 16:46:19 +0000 (29 11:46 -0500)
committerStefan Hajnoczi <stefanha@redhat.com>
Wed, 10 Feb 2021 09:23:28 +0000 (10 09:23 +0000)
tree6660a13fbf828e53aa204f57b3c6a46d60c87581
parentc746b74a7d881c7da4afdd7b29353a90c445a8ab
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>
12 files changed:
MAINTAINERS
hw/remote/iohub.c [new file with mode: 0644]
hw/remote/machine.c
hw/remote/meson.build
hw/remote/message.c
hw/remote/mpqemu-link.c
hw/remote/proxy.c
include/hw/pci/pci_ids.h
include/hw/remote/iohub.h [new file with mode: 0644]
include/hw/remote/machine.h
include/hw/remote/mpqemu-link.h
include/hw/remote/proxy.h