diff options
Diffstat (limited to 'drivers/iommu/Kconfig')
| -rw-r--r-- | drivers/iommu/Kconfig | 51 |
1 files changed, 43 insertions, 8 deletions
diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig index 325188eef1c1..baa0d9786f50 100644 --- a/drivers/iommu/Kconfig +++ b/drivers/iommu/Kconfig | |||
| @@ -4,6 +4,7 @@ config IOMMU_API | |||
| 4 | 4 | ||
| 5 | menuconfig IOMMU_SUPPORT | 5 | menuconfig IOMMU_SUPPORT |
| 6 | bool "IOMMU Hardware Support" | 6 | bool "IOMMU Hardware Support" |
| 7 | depends on MMU | ||
| 7 | default y | 8 | default y |
| 8 | ---help--- | 9 | ---help--- |
| 9 | Say Y here if you want to compile device drivers for IO Memory | 10 | Say Y here if you want to compile device drivers for IO Memory |
| @@ -13,13 +14,43 @@ menuconfig IOMMU_SUPPORT | |||
| 13 | 14 | ||
| 14 | if IOMMU_SUPPORT | 15 | if IOMMU_SUPPORT |
| 15 | 16 | ||
| 17 | menu "Generic IOMMU Pagetable Support" | ||
| 18 | |||
| 19 | # Selected by the actual pagetable implementations | ||
| 20 | config IOMMU_IO_PGTABLE | ||
| 21 | bool | ||
| 22 | |||
| 23 | config IOMMU_IO_PGTABLE_LPAE | ||
| 24 | bool "ARMv7/v8 Long Descriptor Format" | ||
| 25 | select IOMMU_IO_PGTABLE | ||
| 26 | help | ||
| 27 | Enable support for the ARM long descriptor pagetable format. | ||
| 28 | This allocator supports 4K/2M/1G, 16K/32M and 64K/512M page | ||
| 29 | sizes at both stage-1 and stage-2, as well as address spaces | ||
| 30 | up to 48-bits in size. | ||
| 31 | |||
| 32 | config IOMMU_IO_PGTABLE_LPAE_SELFTEST | ||
| 33 | bool "LPAE selftests" | ||
| 34 | depends on IOMMU_IO_PGTABLE_LPAE | ||
| 35 | help | ||
| 36 | Enable self-tests for LPAE page table allocator. This performs | ||
| 37 | a series of page-table consistency checks during boot. | ||
| 38 | |||
| 39 | If unsure, say N here. | ||
| 40 | |||
| 41 | endmenu | ||
| 42 | |||
| 43 | config IOMMU_IOVA | ||
| 44 | bool | ||
| 45 | |||
| 16 | config OF_IOMMU | 46 | config OF_IOMMU |
| 17 | def_bool y | 47 | def_bool y |
| 18 | depends on OF && IOMMU_API | 48 | depends on OF && IOMMU_API |
| 19 | 49 | ||
| 20 | config FSL_PAMU | 50 | config FSL_PAMU |
| 21 | bool "Freescale IOMMU support" | 51 | bool "Freescale IOMMU support" |
| 22 | depends on PPC_E500MC | 52 | depends on PPC32 |
| 53 | depends on PPC_E500MC || COMPILE_TEST | ||
| 23 | select IOMMU_API | 54 | select IOMMU_API |
| 24 | select GENERIC_ALLOCATOR | 55 | select GENERIC_ALLOCATOR |
| 25 | help | 56 | help |
| @@ -30,7 +61,8 @@ config FSL_PAMU | |||
| 30 | # MSM IOMMU support | 61 | # MSM IOMMU support |
| 31 | config MSM_IOMMU | 62 | config MSM_IOMMU |
| 32 | bool "MSM IOMMU Support" | 63 | bool "MSM IOMMU Support" |
| 33 | depends on ARCH_MSM8X60 || ARCH_MSM8960 | 64 | depends on ARM |
| 65 | depends on ARCH_MSM8X60 || ARCH_MSM8960 || COMPILE_TEST | ||
| 34 | select IOMMU_API | 66 | select IOMMU_API |
| 35 | help | 67 | help |
| 36 | Support for the IOMMUs found on certain Qualcomm SOCs. | 68 | Support for the IOMMUs found on certain Qualcomm SOCs. |
| @@ -91,6 +123,7 @@ config INTEL_IOMMU | |||
| 91 | bool "Support for Intel IOMMU using DMA Remapping Devices" | 123 | bool "Support for Intel IOMMU using DMA Remapping Devices" |
| 92 | depends on PCI_MSI && ACPI && (X86 || IA64_GENERIC) | 124 | depends on PCI_MSI && ACPI && (X86 || IA64_GENERIC) |
| 93 | select IOMMU_API | 125 | select IOMMU_API |
| 126 | select IOMMU_IOVA | ||
| 94 | select DMAR_TABLE | 127 | select DMAR_TABLE |
| 95 | help | 128 | help |
| 96 | DMA remapping (DMAR) devices support enables independent address | 129 | DMA remapping (DMAR) devices support enables independent address |
| @@ -140,7 +173,8 @@ config IRQ_REMAP | |||
| 140 | # OMAP IOMMU support | 173 | # OMAP IOMMU support |
| 141 | config OMAP_IOMMU | 174 | config OMAP_IOMMU |
| 142 | bool "OMAP IOMMU Support" | 175 | bool "OMAP IOMMU Support" |
| 143 | depends on ARCH_OMAP2PLUS | 176 | depends on ARM && MMU |
| 177 | depends on ARCH_OMAP2PLUS || COMPILE_TEST | ||
| 144 | select IOMMU_API | 178 | select IOMMU_API |
| 145 | 179 | ||
| 146 | config OMAP_IOMMU_DEBUG | 180 | config OMAP_IOMMU_DEBUG |
| @@ -187,7 +221,7 @@ config TEGRA_IOMMU_SMMU | |||
| 187 | 221 | ||
| 188 | config EXYNOS_IOMMU | 222 | config EXYNOS_IOMMU |
| 189 | bool "Exynos IOMMU Support" | 223 | bool "Exynos IOMMU Support" |
| 190 | depends on ARCH_EXYNOS && ARM | 224 | depends on ARCH_EXYNOS && ARM && MMU |
| 191 | select IOMMU_API | 225 | select IOMMU_API |
| 192 | select ARM_DMA_USE_IOMMU | 226 | select ARM_DMA_USE_IOMMU |
| 193 | help | 227 | help |
| @@ -216,7 +250,7 @@ config SHMOBILE_IPMMU_TLB | |||
| 216 | config SHMOBILE_IOMMU | 250 | config SHMOBILE_IOMMU |
| 217 | bool "IOMMU for Renesas IPMMU/IPMMUI" | 251 | bool "IOMMU for Renesas IPMMU/IPMMUI" |
| 218 | default n | 252 | default n |
| 219 | depends on ARM | 253 | depends on ARM && MMU |
| 220 | depends on ARCH_SHMOBILE || COMPILE_TEST | 254 | depends on ARCH_SHMOBILE || COMPILE_TEST |
| 221 | select IOMMU_API | 255 | select IOMMU_API |
| 222 | select ARM_DMA_USE_IOMMU | 256 | select ARM_DMA_USE_IOMMU |
| @@ -287,6 +321,7 @@ config IPMMU_VMSA | |||
| 287 | depends on ARM_LPAE | 321 | depends on ARM_LPAE |
| 288 | depends on ARCH_SHMOBILE || COMPILE_TEST | 322 | depends on ARCH_SHMOBILE || COMPILE_TEST |
| 289 | select IOMMU_API | 323 | select IOMMU_API |
| 324 | select IOMMU_IO_PGTABLE_LPAE | ||
| 290 | select ARM_DMA_USE_IOMMU | 325 | select ARM_DMA_USE_IOMMU |
| 291 | help | 326 | help |
| 292 | Support for the Renesas VMSA-compatible IPMMU Renesas found in the | 327 | Support for the Renesas VMSA-compatible IPMMU Renesas found in the |
| @@ -304,13 +339,13 @@ config SPAPR_TCE_IOMMU | |||
| 304 | 339 | ||
| 305 | config ARM_SMMU | 340 | config ARM_SMMU |
| 306 | bool "ARM Ltd. System MMU (SMMU) Support" | 341 | bool "ARM Ltd. System MMU (SMMU) Support" |
| 307 | depends on ARM64 || (ARM_LPAE && OF) | 342 | depends on (ARM64 || ARM) && MMU |
| 308 | select IOMMU_API | 343 | select IOMMU_API |
| 344 | select IOMMU_IO_PGTABLE_LPAE | ||
| 309 | select ARM_DMA_USE_IOMMU if ARM | 345 | select ARM_DMA_USE_IOMMU if ARM |
| 310 | help | 346 | help |
| 311 | Support for implementations of the ARM System MMU architecture | 347 | Support for implementations of the ARM System MMU architecture |
| 312 | versions 1 and 2. The driver supports both v7l and v8l table | 348 | versions 1 and 2. |
| 313 | formats with 4k and 64k page sizes. | ||
| 314 | 349 | ||
| 315 | Say Y here if your SoC includes an IOMMU device implementing | 350 | Say Y here if your SoC includes an IOMMU device implementing |
| 316 | the ARM SMMU architecture. | 351 | the ARM SMMU architecture. |
