bus/pci: support IOVA as VA on PowerNV systems
authorDavid Christensen <drc@linux.vnet.ibm.com>
Mon, 16 Mar 2020 20:38:28 +0000 (13:38 -0700)
committerDavid Marchand <david.marchand@redhat.com>
Sat, 25 Apr 2020 15:01:01 +0000 (17:01 +0200)
commit905215731833c88f31766e6fa80398bd18d29ca8
tree6c845f0512b90588cd118c7cff72bac8b9410f5d
parent2c32cfdee1c2745ba5d27f398a59177507538418
bus/pci: support IOVA as VA on PowerNV systems

All recent POWER systems, Power 8 and 9 specifically, support an IOMMU
(it can't be disabled). The functionality of the IOMMU is different
depending on whether it's running on a bare metal PowerNV system or in
a virtual environment (PowerVM LPAR or KVM/QEMU).  DPDK currently
supports the IOMMU found on PowerNV platforms, sPAPRv2, so IOVA=VA
mode can be enabled when the correct platform is detected.

The POWER IOMMU type can't be detected through mechanisms such as
parsing files in the /sys hierarchy like x86_64 systems so the
/proc/cpuinfo file is parsed to determine whether Linux is running
on bare metal (i.e. PowerNV) or in a virtual environment (KVM/QEMU).

Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
drivers/bus/pci/linux/pci.c