| # SPDX-License-Identifier: GPL-2.0-only | |
| # AMD IOMMU support | |
| config AMD_IOMMU | |
| bool "AMD IOMMU support" | |
| select SWIOTLB | |
| select PCI_MSI | |
| select PCI_ATS | |
| select PCI_PRI | |
| select PCI_PASID | |
| select IRQ_MSI_LIB | |
| select MMU_NOTIFIER | |
| select IOMMU_API | |
| select IOMMU_IOVA | |
| select IOMMU_SVA | |
| select IOMMU_IOPF | |
| select IOMMUFD_DRIVER if IOMMUFD | |
| select GENERIC_PT | |
| select IOMMU_PT | |
| select IOMMU_PT_AMDV1 | |
| select IOMMU_PT_X86_64 | |
| depends on X86_64 && PCI && ACPI && HAVE_CMPXCHG_DOUBLE | |
| help | |
| With this option you can enable support for AMD IOMMU hardware in | |
| your system. An IOMMU is a hardware component which provides | |
| remapping of DMA memory accesses from devices. With an AMD IOMMU you | |
| can isolate the DMA memory of different devices and protect the | |
| system from misbehaving device drivers or hardware. | |
| You can find out if your system has an AMD IOMMU if you look into | |
| your BIOS for an option to enable it or if you have an IVRS ACPI | |
| table. | |
| config AMD_IOMMU_IOMMUFD | |
| bool "Enable IOMMUFD features for AMD IOMMU (EXPERIMENTAL)" | |
| depends on IOMMUFD | |
| depends on AMD_IOMMU | |
| help | |
| Support for IOMMUFD features intended to support virtual machines | |
| with accelerated virtual IOMMUs. | |
| Say Y here if you are doing development and testing on this feature. | |
| config AMD_IOMMU_DEBUGFS | |
| bool "Enable AMD IOMMU internals in DebugFS" | |
| depends on AMD_IOMMU && IOMMU_DEBUGFS | |
| help | |
| !!!WARNING!!! !!!WARNING!!! !!!WARNING!!! !!!WARNING!!! | |
| DO NOT ENABLE THIS OPTION UNLESS YOU REALLY, -REALLY- KNOW WHAT YOU ARE DOING!!! | |
| Exposes AMD IOMMU device internals in DebugFS. | |
| This option is -NOT- intended for production environments, and should | |
| not generally be enabled. |