In the case system charges PCI devices with the "uio_pci_generic" kernel driver, the IOMMU should be disabled or passthrough, because the virtual / physical address conversion by IOMMU will make the DMA transmission invalid. The patch guides users configure IOMMU in SPDK target system on both x86_64 and arm64 systems. Change-Id: I66df4df855a6669d4838eb88bd400ded87d08a49 Signed-off-by: tone.zhang <tone.zhang@arm.com> Reviewed-on: https://review.gerrithub.io/424470 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
942 B
System Configuration User Guide
This system configuration guide describes how to configure a system for use with SPDK.
IOMMU configuration
An IOMMU may be present and enabled on many platforms. When an IOMMU is present and enabled, it is
recommended that SPDK applications are deployed with the vfio-pci
kernel driver. SPDK's
scripts/setup.sh
script will automatically select vfio-pci
in this case.
However, some devices do not function correctly when bound to vfio-pci
and instead must be
attached to the uio_pci_generic
kernel driver. In that case, users should take care to disable
the IOMMU or to set it into passthrough mode prior to running scripts/setup.sh
.
To disable the IOMMU or place it into passthrough mode, add intel_iommu=off
or amd_iommu=off
or intel_iommu=on iommu=pt
to the GRUB command line on
x86_64 system, or add iommu.passthrough=1
on arm64 systems.