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>
This commit is contained in:
parent
150ebd076e
commit
25f55508fc
|
@ -132,7 +132,7 @@ static void s390_pci_read_base(S390PCIBusDevice *pbdev,
|
||||||
* to the guest based upon the vfio DMA limit.
|
* to the guest based upon the vfio DMA limit.
|
||||||
*/
|
*/
|
||||||
vfio_size = pbdev->iommu->max_dma_limit << TARGET_PAGE_BITS;
|
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;
|
pbdev->zpci_fn.edma = cap->start_dma + vfio_size - 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue