1 # SPDX-License-Identifier: GPL-2.0-only
2 # AMD IOMMU support
3 config AMD_IOMMU
4 	bool "AMD IOMMU support"
5 	select SWIOTLB
6 	select PCI_MSI
7 	select PCI_ATS
8 	select PCI_PRI
9 	select PCI_PASID
10 	select MMU_NOTIFIER
11 	select IOMMU_API
12 	select IOMMU_IOVA
13 	select IOMMU_IO_PGTABLE
14 	select IOMMU_SVA
15 	select IOMMU_IOPF
16 	select IOMMUFD_DRIVER if IOMMUFD
17 	depends on X86_64 && PCI && ACPI && HAVE_CMPXCHG_DOUBLE
18 	help
19 	  With this option you can enable support for AMD IOMMU hardware in
20 	  your system. An IOMMU is a hardware component which provides
21 	  remapping of DMA memory accesses from devices. With an AMD IOMMU you
22 	  can isolate the DMA memory of different devices and protect the
23 	  system from misbehaving device drivers or hardware.
24 
25 	  You can find out if your system has an AMD IOMMU if you look into
26 	  your BIOS for an option to enable it or if you have an IVRS ACPI
27 	  table.
28 
29 config AMD_IOMMU_DEBUGFS
30 	bool "Enable AMD IOMMU internals in DebugFS"
31 	depends on AMD_IOMMU && IOMMU_DEBUGFS
32 	help
33 	  !!!WARNING!!!  !!!WARNING!!!  !!!WARNING!!!  !!!WARNING!!!
34 
35 	  DO NOT ENABLE THIS OPTION UNLESS YOU REALLY, -REALLY- KNOW WHAT YOU ARE DOING!!!
36 	  Exposes AMD IOMMU device internals in DebugFS.
37 
38 	  This option is -NOT- intended for production environments, and should
39 	  not generally be enabled.
40