aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Rosato <mjrosato@linux.ibm.com>2023-11-10 12:51:08 -0500
committerMichael Tokarev <mjt@tls.msk.ru>2023-11-19 21:15:06 +0300
commit25f55508fc53ed5b0ca90a0b1b158e7d6accb487 (patch)
treeeda9a0fd51eb7d431cd1d00d1f7fde9fcc2033ac
parent150ebd076e4aff712a7e098ff59fc962dc218697 (diff)
s390x/pci: only limit DMA aperture if vfio DMA limit reported
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> (cherry picked from commit 8011b508cf0ddbdbda03820f4fa6cd484a6d9aed) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
-rw-r--r--hw/s390x/s390-pci-vfio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/s390x/s390-pci-vfio.c b/hw/s390x/s390-pci-vfio.c
index 59a2e03873..4f6f61f02e 100644
--- a/hw/s390x/s390-pci-vfio.c
+++ b/hw/s390x/s390-pci-vfio.c
@@ -132,7 +132,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;
}
}