On Wed, Apr 22, 2020 at 09:13:58PM -0700, elena.ufimtseva@oracle.com wrote: > From: Jagannathan Raman > > 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 > Signed-off-by: Jagannathan Raman > Signed-off-by: Elena Ufimtseva > --- > MAINTAINERS | 2 + > Makefile.target | 1 + > hw/Makefile.objs | 2 - > hw/proxy/Makefile.objs | 1 - > hw/proxy/qemu-proxy.c | 52 ++++++++++++ > include/hw/pci/pci_ids.h | 3 + > include/hw/proxy/qemu-proxy.h | 8 ++ > include/io/mpqemu-link.h | 8 ++ > include/remote/iohub.h | 50 ++++++++++++ > include/remote/machine.h | 2 + > io/mpqemu-link.c | 1 + > remote/Makefile.objs | 1 + > remote/iohub.c | 148 ++++++++++++++++++++++++++++++++++ > remote/machine.c | 15 ++++ > remote/remote-main.c | 4 + > 15 files changed, 295 insertions(+), 3 deletions(-) > delete mode 100644 hw/proxy/Makefile.objs > create mode 100644 include/remote/iohub.h > create mode 100644 remote/iohub.c Does this mean MSI-X is not supported? For legacy device emulation INTx is fine but for modern devices MSI-X is used for better performance (multiqueue, etc). Stefan