1# SPDX-License-Identifier: GPL-2.0-only
2# AMD IOMMU support
3config 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 IOMMU_API
11	select IOMMU_IOVA
12	select IOMMU_IO_PGTABLE
13	depends on X86_64 && PCI && ACPI && HAVE_CMPXCHG_DOUBLE
14	help
15	  With this option you can enable support for AMD IOMMU hardware in
16	  your system. An IOMMU is a hardware component which provides
17	  remapping of DMA memory accesses from devices. With an AMD IOMMU you
18	  can isolate the DMA memory of different devices and protect the
19	  system from misbehaving device drivers or hardware.
20
21	  You can find out if your system has an AMD IOMMU if you look into
22	  your BIOS for an option to enable it or if you have an IVRS ACPI
23	  table.
24
25config AMD_IOMMU_V2
26	tristate "AMD IOMMU Version 2 driver"
27	depends on AMD_IOMMU
28	select MMU_NOTIFIER
29	help
30	  This option enables support for the AMD IOMMUv2 features of the IOMMU
31	  hardware. Select this option if you want to use devices that support
32	  the PCI PRI and PASID interface.
33
34config AMD_IOMMU_DEBUGFS
35	bool "Enable AMD IOMMU internals in DebugFS"
36	depends on AMD_IOMMU && IOMMU_DEBUGFS
37	help
38	  !!!WARNING!!!  !!!WARNING!!!  !!!WARNING!!!  !!!WARNING!!!
39
40	  DO NOT ENABLE THIS OPTION UNLESS YOU REALLY, -REALLY- KNOW WHAT YOU ARE DOING!!!
41	  Exposes AMD IOMMU device internals in DebugFS.
42
43	  This option is -NOT- intended for production environments, and should
44	  not generally be enabled.
45