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