]> Git Repo - qemu.git/commitdiff
vfio/pci: Allow MSI-X relocation to fixup bogus PBA
authorAlex Williamson <[email protected]>
Thu, 13 Jun 2019 15:57:36 +0000 (09:57 -0600)
committerAlex Williamson <[email protected]>
Thu, 13 Jun 2019 15:57:36 +0000 (09:57 -0600)
The MSI-X relocation code can sometimes be used to work around bogus
MSI-X capabilities, but this test for whether the PBA is outside of
the specified BAR causes the device to error before we can apply a
relocation.  Let it proceed if we intend to relocate MSI-X anyway.

Signed-off-by: Alex Williamson <[email protected]>
hw/vfio/pci.c

index 48f4e19a02cf78395134064f1496c9c848afe828..6520c05dee9213f2f3e6e5a78bfc51de04bf14c1 100644 (file)
@@ -1533,7 +1533,7 @@ static void vfio_msix_early_setup(VFIOPCIDevice *vdev, Error **errp)
         if (vdev->vendor_id == PCI_VENDOR_ID_CHELSIO &&
             (vdev->device_id & 0xff00) == 0x5800) {
             msix->pba_offset = 0x1000;
-        } else {
+        } else if (vdev->msix_relo == OFF_AUTOPCIBAR_OFF) {
             error_setg(errp, "hardware reports invalid configuration, "
                        "MSIX PBA outside of specified BAR");
             g_free(msix);
This page took 0.029007 seconds and 4 git commands to generate.