bf6a6019b2
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>
18 lines
942 B
Markdown
18 lines
942 B
Markdown
# System Configuration User Guide {#system_configuration}
|
|
|
|
This system configuration guide describes how to configure a system for use with SPDK.
|
|
|
|
# IOMMU configuration {#iommu_config}
|
|
|
|
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.
|