On Tue, 17 Mar 2020 15:50:38 -0400
Peter Xu wrote:
> It's currently broken. Let's use the slow path to at least make it
> functional.
>
> Tested-by: Eric Auger
> Reviewed-by: Eric Auger
> Signed-off-by: Peter Xu
> ---
> hw/vfio/pci.c | 12
> 1 file changed, 12 insertions(+)
Reviewed-by: Alex Williamson
Acked-by: Alex Williamson
> 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);