xref: /linux/drivers/iommu/amd/Kconfig (revision f4b369c6fe0ceaba2da2daff8c9eb415f85926dd)
1cbe94c6eSJerry Snitselaar# SPDX-License-Identifier: GPL-2.0-only
2cbe94c6eSJerry Snitselaar# AMD IOMMU support
3cbe94c6eSJerry Snitselaarconfig AMD_IOMMU
4cbe94c6eSJerry Snitselaar	bool "AMD IOMMU support"
5cbe94c6eSJerry Snitselaar	select SWIOTLB
6cbe94c6eSJerry Snitselaar	select PCI_MSI
7cbe94c6eSJerry Snitselaar	select PCI_ATS
8cbe94c6eSJerry Snitselaar	select PCI_PRI
9cbe94c6eSJerry Snitselaar	select PCI_PASID
100eaa67adSMarc Zyngier	select IRQ_MSI_LIB
11bbe1e78aSAndy Shevchenko	select MMU_NOTIFIER
12cbe94c6eSJerry Snitselaar	select IOMMU_API
13cbe94c6eSJerry Snitselaar	select IOMMU_IOVA
141af95763SVasant Hegde	select IOMMU_SVA
15c4cb2311SVasant Hegde	select IOMMU_IOPF
16421a511aSJoao Martins	select IOMMUFD_DRIVER if IOMMUFD
17789a5913SAlejandro Jimenez	select GENERIC_PT
18789a5913SAlejandro Jimenez	select IOMMU_PT
19789a5913SAlejandro Jimenez	select IOMMU_PT_AMDV1
20789a5913SAlejandro Jimenez	select IOMMU_PT_X86_64
21e52d58d5SSuravee Suthikulpanit	depends on X86_64 && PCI && ACPI && HAVE_CMPXCHG_DOUBLE
22cbe94c6eSJerry Snitselaar	help
23cbe94c6eSJerry Snitselaar	  With this option you can enable support for AMD IOMMU hardware in
24cbe94c6eSJerry Snitselaar	  your system. An IOMMU is a hardware component which provides
25cbe94c6eSJerry Snitselaar	  remapping of DMA memory accesses from devices. With an AMD IOMMU you
26cbe94c6eSJerry Snitselaar	  can isolate the DMA memory of different devices and protect the
27cbe94c6eSJerry Snitselaar	  system from misbehaving device drivers or hardware.
28cbe94c6eSJerry Snitselaar
29cbe94c6eSJerry Snitselaar	  You can find out if your system has an AMD IOMMU if you look into
30cbe94c6eSJerry Snitselaar	  your BIOS for an option to enable it or if you have an IVRS ACPI
31cbe94c6eSJerry Snitselaar	  table.
32cbe94c6eSJerry Snitselaar
33*7d8b06ecSSuravee Suthikulpanitconfig AMD_IOMMU_IOMMUFD
34*7d8b06ecSSuravee Suthikulpanit	bool "Enable IOMMUFD features for AMD IOMMU (EXPERIMENTAL)"
35*7d8b06ecSSuravee Suthikulpanit	depends on IOMMUFD
36*7d8b06ecSSuravee Suthikulpanit	depends on AMD_IOMMU
37*7d8b06ecSSuravee Suthikulpanit	help
38*7d8b06ecSSuravee Suthikulpanit	  Support for IOMMUFD features intended to support virtual machines
39*7d8b06ecSSuravee Suthikulpanit	  with accelerated virtual IOMMUs.
40*7d8b06ecSSuravee Suthikulpanit
41*7d8b06ecSSuravee Suthikulpanit	  Say Y here if you are doing development and testing on this feature.
42*7d8b06ecSSuravee Suthikulpanit
43cbe94c6eSJerry Snitselaarconfig AMD_IOMMU_DEBUGFS
44cbe94c6eSJerry Snitselaar	bool "Enable AMD IOMMU internals in DebugFS"
45cbe94c6eSJerry Snitselaar	depends on AMD_IOMMU && IOMMU_DEBUGFS
46cbe94c6eSJerry Snitselaar	help
47cbe94c6eSJerry Snitselaar	  !!!WARNING!!!  !!!WARNING!!!  !!!WARNING!!!  !!!WARNING!!!
48cbe94c6eSJerry Snitselaar
49cbe94c6eSJerry Snitselaar	  DO NOT ENABLE THIS OPTION UNLESS YOU REALLY, -REALLY- KNOW WHAT YOU ARE DOING!!!
50cbe94c6eSJerry Snitselaar	  Exposes AMD IOMMU device internals in DebugFS.
51cbe94c6eSJerry Snitselaar
52cbe94c6eSJerry Snitselaar	  This option is -NOT- intended for production environments, and should
53cbe94c6eSJerry Snitselaar	  not generally be enabled.
54