diff options
| author | Farhan Ali <alifm@linux.ibm.com> | 2026-07-29 11:11:16 -0700 |
|---|---|---|
| committer | Alex Williamson <alex@shazbot.org> | 2026-08-05 10:18:40 -0600 |
| commit | 6edd69813b2d8c30c24a86052065a5dbf390a3cd (patch) | |
| tree | 6f900a2bb737000402c0e508c56bfa834c7d6d0a /scripts/objdiff | |
| parent | dc77acfeb979dded39b247b60fef0399536bfa77 (diff) | |
| download | linux-6edd69813b2d8c30c24a86052065a5dbf390a3cd.tar.gz linux-6edd69813b2d8c30c24a86052065a5dbf390a3cd.zip | |
vfio/pci: Avoid mapping BARs for devices with non-mappable BARs
vfio_pci_core_map_bars() calls pci_iomap() to set up BAR resources, but not
all devices support having their BARs mapped by the CPU. The
non_mappable_bars flag indicates that a PCI device's BARs cannot be
accessed by the CPU. The ISM device on s390 is one such device. The BAR
size for an ISM device is 256 TiB, and attempting to map the BAR will lead
to warnings:
vmalloc_node_range for size 281474976714752 failed: Address range
restricted to 0x2110bab00000 - 0x21903ab00000
Use pdev->non_mappable_bars to skip pci_iomap() for such devices. This flag
is set by the PCI core at enumeration time and already serves the same
purpose in vfio_pci_probe_mmaps().
Fixes: 05f2a68b407a ("vfio/pci: Set up BAR resources and maps in vfio_pci_core_enable()")
Reported-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Signed-off-by: Farhan Ali <alifm@linux.ibm.com>
Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Link: https://lore.kernel.org/r/20260729181116.1373-1-alifm@linux.ibm.com
Signed-off-by: Alex Williamson <alex@shazbot.org>
Diffstat (limited to 'scripts/objdiff')
0 files changed, 0 insertions, 0 deletions
