numam-spdk/doc/system_configuration.md
tone.zhang bf6a6019b2 Doc: Clarify the IOMMU configuration for User Space Drivers
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>
2018-11-05 22:15:41 +00:00

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.