]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
s390x/pci: only limit DMA aperture if vfio DMA limit reported
authorMatthew Rosato <mjrosato@linux.ibm.com>
Fri, 10 Nov 2023 17:51:08 +0000 (12:51 -0500)
committerThomas Huth <thuth@redhat.com>
Mon, 13 Nov 2023 10:35:47 +0000 (11:35 +0100)
If the host kernel lacks vfio DMA limit reporting, do not attempt
to shrink the guest DMA aperture.

Fixes: df202e3ff3 ("s390x/pci: shrink DMA aperture to be bound by vfio DMA limit")
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Message-ID: <20231110175108.465851-3-mjrosato@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
hw/s390x/s390-pci-vfio.c

index e28573b593bec26338acd412615fd1160df64f1e..7dbbc76823a5240978acd03230a8022e53f676ed 100644 (file)
@@ -136,7 +136,7 @@ static void s390_pci_read_base(S390PCIBusDevice *pbdev,
      * to the guest based upon the vfio DMA limit.
      */
     vfio_size = pbdev->iommu->max_dma_limit << TARGET_PAGE_BITS;
-    if (vfio_size < (cap->end_dma - cap->start_dma + 1)) {
+    if (vfio_size > 0 && vfio_size < cap->end_dma - cap->start_dma + 1) {
         pbdev->zpci_fn.edma = cap->start_dma + vfio_size - 1;
     }
 }