[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/5] vfio/pci: Disable INTx fast path if using split irqchip
From: |
Peter Xu |
Subject: |
[PATCH 1/5] vfio/pci: Disable INTx fast path if using split irqchip |
Date: |
Wed, 26 Feb 2020 17:50:44 -0500 |
It's currently broken. Let's use the slow path to at least make it
functional.
Signed-off-by: Peter Xu <address@hidden>
---
hw/vfio/pci.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
index 5e75a95129..98e0e0c994 100644
--- a/hw/vfio/pci.c
+++ b/hw/vfio/pci.c
@@ -128,6 +128,18 @@ static void vfio_intx_enable_kvm(VFIOPCIDevice *vdev,
Error **errp)
return;
}
+ if (kvm_irqchip_is_split()) {
+ /*
+ * VFIO INTx is currently not working with split kernel
+ * irqchip for level triggered interrupts. Go the slow path
+ * as long as split is enabled so we can be at least
+ * functional (even with poor performance).
+ *
+ * TODO: Remove this after all things fixed up.
+ */
+ return;
+ }
+
/* Get to a known interrupt state */
qemu_set_fd_handler(irqfd.fd, NULL, NULL, vdev);
vfio_mask_single_irqindex(&vdev->vbasedev, VFIO_PCI_INTX_IRQ_INDEX);
--
2.24.1