0001 # SPDX-License-Identifier: GPL-2.0-only
0002 # AMD IOMMU support
0003 config AMD_IOMMU
0004 bool "AMD IOMMU support"
0005 select SWIOTLB
0006 select PCI_MSI
0007 select PCI_ATS
0008 select PCI_PRI
0009 select PCI_PASID
0010 select IOMMU_API
0011 select IOMMU_IOVA
0012 select IOMMU_DMA
0013 select IOMMU_IO_PGTABLE
0014 depends on X86_64 && PCI && ACPI && HAVE_CMPXCHG_DOUBLE
0015 help
0016 With this option you can enable support for AMD IOMMU hardware in
0017 your system. An IOMMU is a hardware component which provides
0018 remapping of DMA memory accesses from devices. With an AMD IOMMU you
0019 can isolate the DMA memory of different devices and protect the
0020 system from misbehaving device drivers or hardware.
0021
0022 You can find out if your system has an AMD IOMMU if you look into
0023 your BIOS for an option to enable it or if you have an IVRS ACPI
0024 table.
0025
0026 config AMD_IOMMU_V2
0027 tristate "AMD IOMMU Version 2 driver"
0028 depends on AMD_IOMMU
0029 select MMU_NOTIFIER
0030 help
0031 This option enables support for the AMD IOMMUv2 features of the IOMMU
0032 hardware. Select this option if you want to use devices that support
0033 the PCI PRI and PASID interface.
0034
0035 config AMD_IOMMU_DEBUGFS
0036 bool "Enable AMD IOMMU internals in DebugFS"
0037 depends on AMD_IOMMU && IOMMU_DEBUGFS
0038 help
0039 !!!WARNING!!! !!!WARNING!!! !!!WARNING!!! !!!WARNING!!!
0040
0041 DO NOT ENABLE THIS OPTION UNLESS YOU REALLY, -REALLY- KNOW WHAT YOU ARE DOING!!!
0042 Exposes AMD IOMMU device internals in DebugFS.
0043
0044 This option is -NOT- intended for production environments, and should
0045 not generally be enabled.