blob: 82fa56238c967eab432f48a81df7aaf5d1ffdaf0 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Sakari Ailusbd3c2e62019-01-02 23:16:57 +02002# The IOVA library may also be used by non-IOMMU_API users
3config IOMMU_IOVA
4 tristate
5
Jean-Philippe Bruckerfa834332019-10-02 12:42:41 -07006# The IOASID library may also be used by non-IOMMU_API users
7config IOASID
8 tristate
9
Ohad Ben-Cohenab493a02011-06-02 02:48:05 +030010# IOMMU_API always gets selected by whoever wants it.
11config IOMMU_API
12 bool
Ohad Ben-Cohenb10f1272011-06-02 03:20:08 +030013
Joerg Roedel68255b62011-06-14 15:51:54 +020014menuconfig IOMMU_SUPPORT
15 bool "IOMMU Hardware Support"
Arnd Bergmanne5144c92015-01-28 15:45:53 +010016 depends on MMU
Joerg Roedel68255b62011-06-14 15:51:54 +020017 default y
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090018 help
Joerg Roedel68255b62011-06-14 15:51:54 +020019 Say Y here if you want to compile device drivers for IO Memory
20 Management Units into the kernel. These devices usually allow to
21 remap DMA requests and/or remap interrupts from other devices on the
22 system.
23
24if IOMMU_SUPPORT
25
Will Deaconfdb1d7b2014-11-14 17:16:49 +000026menu "Generic IOMMU Pagetable Support"
27
28# Selected by the actual pagetable implementations
29config IOMMU_IO_PGTABLE
30 bool
31
Will Deacone1d3c0f2014-11-14 17:18:23 +000032config IOMMU_IO_PGTABLE_LPAE
33 bool "ARMv7/v8 Long Descriptor Format"
34 select IOMMU_IO_PGTABLE
Geert Uytterhoeven48e6f76522018-04-17 19:49:09 +020035 depends on ARM || ARM64 || (COMPILE_TEST && !GENERIC_ATOMIC64)
Will Deacone1d3c0f2014-11-14 17:18:23 +000036 help
37 Enable support for the ARM long descriptor pagetable format.
38 This allocator supports 4K/2M/1G, 16K/32M and 64K/512M page
39 sizes at both stage-1 and stage-2, as well as address spaces
40 up to 48-bits in size.
41
Will Deaconfe4b9912014-11-17 23:31:12 +000042config IOMMU_IO_PGTABLE_LPAE_SELFTEST
43 bool "LPAE selftests"
44 depends on IOMMU_IO_PGTABLE_LPAE
45 help
46 Enable self-tests for LPAE page table allocator. This performs
47 a series of page-table consistency checks during boot.
48
49 If unsure, say N here.
50
Robin Murphye5fc9752016-01-26 17:13:13 +000051config IOMMU_IO_PGTABLE_ARMV7S
52 bool "ARMv7/v8 Short Descriptor Format"
53 select IOMMU_IO_PGTABLE
Geert Uytterhoeven48e6f76522018-04-17 19:49:09 +020054 depends on ARM || ARM64 || COMPILE_TEST
Robin Murphye5fc9752016-01-26 17:13:13 +000055 help
56 Enable support for the ARM Short-descriptor pagetable format.
57 This supports 32-bit virtual and physical addresses mapped using
58 2-level tables with 4KB pages/1MB sections, and contiguous entries
59 for 64KB pages/16MB supersections if indicated by the IOMMU driver.
60
61config IOMMU_IO_PGTABLE_ARMV7S_SELFTEST
62 bool "ARMv7s selftests"
63 depends on IOMMU_IO_PGTABLE_ARMV7S
64 help
65 Enable self-tests for ARMv7s page table allocator. This performs
66 a series of page-table consistency checks during boot.
67
68 If unsure, say N here.
69
Will Deaconfdb1d7b2014-11-14 17:16:49 +000070endmenu
71
Gary R Hookbad614b2018-06-12 16:41:21 -050072config IOMMU_DEBUGFS
73 bool "Export IOMMU internals in DebugFS"
74 depends on DEBUG_FS
75 help
76 Allows exposure of IOMMU device internals. This option enables
77 the use of debugfs by IOMMU drivers as required. Devices can,
78 at initialization time, cause the IOMMU code to create a top-level
79 debug/iommu directory, and then populate a subdirectory with
80 entries as required.
81
Olof Johansson58d11312018-07-20 11:02:23 -070082config IOMMU_DEFAULT_PASSTHROUGH
83 bool "IOMMU passthrough by default"
84 depends on IOMMU_API
Krzysztof Kozlowskid0432342019-11-21 04:19:30 +010085 help
Olof Johansson58d11312018-07-20 11:02:23 -070086 Enable passthrough by default, removing the need to pass in
87 iommu.passthrough=on or iommu=pt through command line. If this
88 is enabled, you can still disable with iommu.passthrough=off
89 or iommu=nopt depending on the architecture.
90
91 If unsure, say N here.
92
Hiroshi Doyu4e0ee782012-06-25 14:23:54 +030093config OF_IOMMU
Krzysztof Kozlowskid0432342019-11-21 04:19:30 +010094 def_bool y
95 depends on OF && IOMMU_API
Hiroshi Doyu4e0ee782012-06-25 14:23:54 +030096
Robin Murphy0db2e5d2015-10-01 20:13:58 +010097# IOMMU-agnostic DMA-mapping layer
98config IOMMU_DMA
99 bool
Christoph Hellwig2f9237d2020-07-08 09:30:00 +0200100 select DMA_OPS
Robin Murphy0db2e5d2015-10-01 20:13:58 +0100101 select IOMMU_API
102 select IOMMU_IOVA
Julien Grallece6e6f2019-05-01 14:58:19 +0100103 select IRQ_MSI_IOMMU
Robin Murphy59a68eb2016-02-29 11:13:39 +0000104 select NEED_SG_DMA_LENGTH
Robin Murphy0db2e5d2015-10-01 20:13:58 +0100105
Varun Sethi695093e2013-07-15 10:20:57 +0530106config FSL_PAMU
107 bool "Freescale IOMMU support"
Joerg Roedela4d98fb2017-08-09 15:00:36 +0200108 depends on PCI
Joerg Roedelaf29d9f2017-08-09 15:04:47 +0200109 depends on PHYS_64BIT
Andy Fleminga0d284d2016-03-16 23:15:44 -0500110 depends on PPC_E500MC || (COMPILE_TEST && PPC)
Varun Sethi695093e2013-07-15 10:20:57 +0530111 select IOMMU_API
112 select GENERIC_ALLOCATOR
113 help
114 Freescale PAMU support. PAMU is the IOMMU present on Freescale QorIQ platforms.
115 PAMU can authorize memory access, remap the memory address, and remap I/O
116 transaction types.
117
Ohad Ben-Cohenb10f1272011-06-02 03:20:08 +0300118# MSM IOMMU support
119config MSM_IOMMU
120 bool "MSM IOMMU Support"
Joerg Roedel477ab7a2015-01-20 16:13:33 +0100121 depends on ARM
122 depends on ARCH_MSM8X60 || ARCH_MSM8960 || COMPILE_TEST
Ohad Ben-Cohenb10f1272011-06-02 03:20:08 +0300123 select IOMMU_API
Sricharan Rc9220fb2016-06-13 17:06:06 +0530124 select IOMMU_IO_PGTABLE_ARMV7S
Ohad Ben-Cohenb10f1272011-06-02 03:20:08 +0300125 help
126 Support for the IOMMUs found on certain Qualcomm SOCs.
127 These IOMMUs allow virtualization of the address space used by most
128 cores within the multimedia subsystem.
129
130 If unsure, say N here.
131
Jerry Snitselaarcbe94c6e2020-06-30 13:06:36 -0700132source "drivers/iommu/amd/Kconfig"
Jerry Snitselaarab65ba52020-06-30 13:06:35 -0700133source "drivers/iommu/intel/Kconfig"
Lu Baolu04618252020-01-02 08:18:02 +0800134
Suresh Siddhad3f13812011-08-23 17:05:25 -0700135config IRQ_REMAP
Kees Cooka446e212013-01-16 18:53:39 -0800136 bool "Support for Interrupt Remapping"
137 depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI
Suresh Siddhad3f13812011-08-23 17:05:25 -0700138 select DMAR_TABLE
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900139 help
Ohad Ben-Cohen166e9272011-06-10 21:42:27 +0300140 Supports Interrupt remapping for IO-APIC and MSI devices.
141 To use x2apic mode in the CPU's which support x2APIC enhancements or
142 to support platforms with CPU's having > 8 bit APIC ID, say Y.
Joerg Roedel68255b62011-06-14 15:51:54 +0200143
Ohad Ben-Cohenfcf3a6e2011-08-15 23:21:41 +0300144# OMAP IOMMU support
145config OMAP_IOMMU
146 bool "OMAP IOMMU Support"
Joerg Roedel477ab7a2015-01-20 16:13:33 +0100147 depends on ARCH_OMAP2PLUS || COMPILE_TEST
Ohad Ben-Cohenfcf3a6e2011-08-15 23:21:41 +0300148 select IOMMU_API
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900149 help
Gerd Hoffmann06b718c2014-11-11 09:17:00 +0100150 The OMAP3 media platform drivers depend on iommu support,
151 if you need them say Y here.
Ohad Ben-Cohenfcf3a6e2011-08-15 23:21:41 +0300152
Ohad Ben-Cohenfcf3a6e2011-08-15 23:21:41 +0300153config OMAP_IOMMU_DEBUG
Suman Anna61c75352014-10-22 17:22:30 -0500154 bool "Export OMAP IOMMU internals in DebugFS"
155 depends on OMAP_IOMMU && DEBUG_FS
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900156 help
Suman Anna61c75352014-10-22 17:22:30 -0500157 Select this to see extensive information about
158 the internal state of OMAP IOMMU in debugfs.
Ohad Ben-Cohenfcf3a6e2011-08-15 23:21:41 +0300159
Suman Anna61c75352014-10-22 17:22:30 -0500160 Say N unless you know you need this.
Ohad Ben-Cohenfcf3a6e2011-08-15 23:21:41 +0300161
Daniel Kurtzc68a2922014-11-03 10:53:27 +0800162config ROCKCHIP_IOMMU
163 bool "Rockchip IOMMU Support"
Joerg Roedel11175882014-11-03 18:16:56 +0100164 depends on ARCH_ROCKCHIP || COMPILE_TEST
Daniel Kurtzc68a2922014-11-03 10:53:27 +0800165 select IOMMU_API
166 select ARM_DMA_USE_IOMMU
167 help
168 Support for IOMMUs found on Rockchip rk32xx SOCs.
169 These IOMMUs allow virtualization of the address space used by most
170 cores within the multimedia subsystem.
171 Say Y here if you are using a Rockchip SoC that includes an IOMMU
172 device.
Ohad Ben-Cohenab493a02011-06-02 02:48:05 +0300173
Maxime Ripard4100b8c2020-05-13 16:07:22 +0200174config SUN50I_IOMMU
175 bool "Allwinner H6 IOMMU Support"
Geert Uytterhoevenc7451e42020-06-29 14:11:46 +0200176 depends on HAS_DMA
Maxime Ripard4100b8c2020-05-13 16:07:22 +0200177 depends on ARCH_SUNXI || COMPILE_TEST
178 select ARM_DMA_USE_IOMMU
179 select IOMMU_API
Maxime Ripard4100b8c2020-05-13 16:07:22 +0200180 help
181 Support for the IOMMU introduced in the Allwinner H6 SoCs.
182
Hiroshi DOYUd53e54b2011-11-16 17:36:37 +0200183config TEGRA_IOMMU_GART
184 bool "Tegra GART IOMMU Support"
185 depends on ARCH_TEGRA_2x_SOC
Dmitry Osipenkoce2785a2018-12-12 23:38:56 +0300186 depends on TEGRA_MC
Hiroshi DOYUd53e54b2011-11-16 17:36:37 +0200187 select IOMMU_API
188 help
189 Enables support for remapping discontiguous physical memory
190 shared with the operating system into contiguous I/O virtual
191 space through the GART (Graphics Address Relocation Table)
192 hardware included on Tegra SoCs.
193
Hiroshi DOYU7a31f6f2011-11-17 07:31:31 +0200194config TEGRA_IOMMU_SMMU
Thierry Reding89184652014-04-16 09:24:44 +0200195 bool "NVIDIA Tegra SMMU Support"
196 depends on ARCH_TEGRA
197 depends on TEGRA_AHB
198 depends on TEGRA_MC
Hiroshi DOYU7a31f6f2011-11-17 07:31:31 +0200199 select IOMMU_API
200 help
Thierry Reding89184652014-04-16 09:24:44 +0200201 This driver supports the IOMMU hardware (SMMU) found on NVIDIA Tegra
Thierry Reding588c43a2015-03-23 10:45:12 +0100202 SoCs (Tegra30 up to Tegra210).
Hiroshi DOYU7a31f6f2011-11-17 07:31:31 +0200203
KyongHo Cho2a965362012-05-12 05:56:09 +0900204config EXYNOS_IOMMU
205 bool "Exynos IOMMU Support"
Robin Murphyb4ceb4a2020-07-03 17:03:19 +0100206 depends on ARCH_EXYNOS || COMPILE_TEST
Arnd Bergmanndb3a7fd2017-07-28 15:19:19 +0200207 depends on !CPU_BIG_ENDIAN # revisit driver if we can enable big-endian ptes
KyongHo Cho2a965362012-05-12 05:56:09 +0900208 select IOMMU_API
Tushar Behera4802c1d2014-07-04 15:01:08 +0530209 select ARM_DMA_USE_IOMMU
KyongHo Cho2a965362012-05-12 05:56:09 +0900210 help
Sachin Kamat5455d702014-05-22 09:50:55 +0530211 Support for the IOMMU (System MMU) of Samsung Exynos application
212 processor family. This enables H/W multimedia accelerators to see
213 non-linear physical memory chunks as linear memory in their
214 address space.
KyongHo Cho2a965362012-05-12 05:56:09 +0900215
216 If unsure, say N here.
217
218config EXYNOS_IOMMU_DEBUG
219 bool "Debugging log for Exynos IOMMU"
220 depends on EXYNOS_IOMMU
221 help
222 Select this to see the detailed log message that shows what
Sachin Kamat5455d702014-05-22 09:50:55 +0530223 happens in the IOMMU driver.
KyongHo Cho2a965362012-05-12 05:56:09 +0900224
Sachin Kamat5455d702014-05-22 09:50:55 +0530225 Say N unless you need kernel log message for IOMMU debugging.
KyongHo Cho2a965362012-05-12 05:56:09 +0900226
Laurent Pinchartd25a2a12014-04-02 12:47:37 +0200227config IPMMU_VMSA
228 bool "Renesas VMSA-compatible IPMMU"
Guenter Roecka4aaecc2017-09-10 13:43:37 -0700229 depends on ARCH_RENESAS || (COMPILE_TEST && !GENERIC_ATOMIC64)
Laurent Pinchartd25a2a12014-04-02 12:47:37 +0200230 select IOMMU_API
Laurent Pinchartf20ed392015-01-20 18:30:04 +0200231 select IOMMU_IO_PGTABLE_LPAE
Laurent Pinchartd25a2a12014-04-02 12:47:37 +0200232 select ARM_DMA_USE_IOMMU
233 help
Geert Uytterhoeven15021d32018-07-25 15:10:29 +0200234 Support for the Renesas VMSA-compatible IPMMU found in the R-Mobile
235 APE6, R-Car Gen2, and R-Car Gen3 SoCs.
Laurent Pinchartd25a2a12014-04-02 12:47:37 +0200236
237 If unsure, say N.
238
Alexey Kardashevskiy4e13c1a2013-05-21 13:33:09 +1000239config SPAPR_TCE_IOMMU
240 bool "sPAPR TCE IOMMU Support"
Krzysztof Kozlowski9dd124b2020-04-14 16:26:30 +0200241 depends on PPC_POWERNV || PPC_PSERIES
Alexey Kardashevskiy4e13c1a2013-05-21 13:33:09 +1000242 select IOMMU_API
243 help
244 Enables bits of IOMMU API required by VFIO. The iommu_ops
245 is not implemented as it is not necessary for VFIO.
246
Will Deacon48ec83b2015-05-27 17:25:59 +0100247# ARM IOMMU support
Will Deacon45ae7cf2013-06-24 18:31:25 +0100248config ARM_SMMU
Will Deaconcd221bd2019-12-19 12:03:51 +0000249 tristate "ARM Ltd. System MMU (SMMU) Support"
Robin Murphyb4ceb4a2020-07-03 17:03:19 +0100250 depends on ARM64 || ARM || (COMPILE_TEST && !GENERIC_ATOMIC64)
Will Deacon45ae7cf2013-06-24 18:31:25 +0100251 select IOMMU_API
Will Deacon518f7132014-11-14 17:17:54 +0000252 select IOMMU_IO_PGTABLE_LPAE
Will Deacon45ae7cf2013-06-24 18:31:25 +0100253 select ARM_DMA_USE_IOMMU if ARM
254 help
255 Support for implementations of the ARM System MMU architecture
Will Deacon518f7132014-11-14 17:17:54 +0000256 versions 1 and 2.
Will Deacon45ae7cf2013-06-24 18:31:25 +0100257
258 Say Y here if your SoC includes an IOMMU device implementing
259 the ARM SMMU architecture.
260
Will Deaconcd221bd2019-12-19 12:03:51 +0000261config ARM_SMMU_LEGACY_DT_BINDINGS
262 bool "Support the legacy \"mmu-masters\" devicetree bindings"
263 depends on ARM_SMMU=y && OF
264 help
265 Support for the badly designed and deprecated "mmu-masters"
266 devicetree bindings. This allows some DMA masters to attach
267 to the SMMU but does not provide any support via the DMA API.
268 If you're lucky, you might be able to get VFIO up and running.
269
270 If you say Y here then you'll make me very sad. Instead, say N
271 and move your firmware to the utopian future that was 2016.
272
Douglas Anderson954a03b2019-03-01 11:20:17 -0800273config ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT
274 bool "Default to disabling bypass on ARM SMMU v1 and v2"
275 depends on ARM_SMMU
276 default y
277 help
278 Say Y here to (by default) disable bypass streams such that
279 incoming transactions from devices that are not attached to
280 an iommu domain will report an abort back to the device and
281 will not be allowed to pass through the SMMU.
282
283 Any old kernels that existed before this KConfig was
284 introduced would default to _allowing_ bypass (AKA the
285 equivalent of NO for this config). However the default for
286 this option is YES because the old behavior is insecure.
287
288 There are few reasons to allow unmatched stream bypass, and
289 even fewer good ones. If saying YES here breaks your board
290 you should work on fixing your board. This KConfig option
291 is expected to be removed in the future and we'll simply
292 hardcode the bypass disable in the code.
293
294 NOTE: the kernel command line parameter
295 'arm-smmu.disable_bypass' will continue to override this
296 config.
297
Will Deacon48ec83b2015-05-27 17:25:59 +0100298config ARM_SMMU_V3
Will Deacon2852ad02019-12-19 12:03:49 +0000299 tristate "ARM Ltd. System MMU Version 3 (SMMUv3) Support"
Robin Murphy08d4ca22016-09-12 17:13:46 +0100300 depends on ARM64
Will Deacon48ec83b2015-05-27 17:25:59 +0100301 select IOMMU_API
302 select IOMMU_IO_PGTABLE_LPAE
Marc Zyngier166bdbd2015-10-13 18:32:30 +0100303 select GENERIC_MSI_IRQ_DOMAIN
Will Deacon48ec83b2015-05-27 17:25:59 +0100304 help
305 Support for implementations of the ARM System MMU architecture
306 version 3 providing translation support to a PCIe root complex.
307
308 Say Y here if your system includes an IOMMU device implementing
309 the ARM SMMUv3 architecture.
310
Jean-Philippe Brucker3f1ce8e2020-09-18 12:18:48 +0200311config ARM_SMMU_V3_SVA
312 bool "Shared Virtual Addressing support for the ARM SMMUv3"
313 depends on ARM_SMMU_V3
314 help
315 Support for sharing process address spaces with devices using the
316 SMMUv3.
317
318 Say Y here if your system supports SVA extensions such as PCIe PASID
319 and PRI.
320
Gerald Schaefer8128f23c2015-08-27 15:33:03 +0200321config S390_IOMMU
322 def_bool y if S390 && PCI
323 depends on S390 && PCI
324 select IOMMU_API
325 help
326 Support for the IOMMU API for s390 PCI devices.
327
Dong Jia Shi63f19342017-03-17 04:17:31 +0100328config S390_CCW_IOMMU
329 bool "S390 CCW IOMMU Support"
Krzysztof Kozlowskie93a1692020-03-03 21:27:51 +0100330 depends on S390 && CCW || COMPILE_TEST
Dong Jia Shi63f19342017-03-17 04:17:31 +0100331 select IOMMU_API
332 help
333 Enables bits of IOMMU API required by VFIO. The iommu_ops
334 is not implemented as it is not necessary for VFIO.
335
Tony Krowiak1fde5732018-09-25 19:16:19 -0400336config S390_AP_IOMMU
337 bool "S390 AP IOMMU Support"
Krzysztof Kozlowskie93a1692020-03-03 21:27:51 +0100338 depends on S390 && ZCRYPT || COMPILE_TEST
Tony Krowiak1fde5732018-09-25 19:16:19 -0400339 select IOMMU_API
340 help
341 Enables bits of IOMMU API required by VFIO. The iommu_ops
342 is not implemented as it is not necessary for VFIO.
343
Yong Wu0df4fab2016-02-23 01:20:50 +0800344config MTK_IOMMU
345 bool "MTK IOMMU Support"
Yong Wu0df4fab2016-02-23 01:20:50 +0800346 depends on ARCH_MEDIATEK || COMPILE_TEST
Arnd Bergmann19288322016-02-29 10:19:06 +0100347 select ARM_DMA_USE_IOMMU
Yong Wu0df4fab2016-02-23 01:20:50 +0800348 select IOMMU_API
Yong Wu0df4fab2016-02-23 01:20:50 +0800349 select IOMMU_IO_PGTABLE_ARMV7S
350 select MEMORY
351 select MTK_SMI
352 help
353 Support for the M4U on certain Mediatek SOCs. M4U is MultiMedia
354 Memory Management Unit. This option enables remapping of DMA memory
355 accesses for the multimedia subsystem.
356
357 If unsure, say N here.
358
Honghui Zhangb17336c2016-06-08 17:51:00 +0800359config MTK_IOMMU_V1
360 bool "MTK IOMMU Version 1 (M4U gen1) Support"
361 depends on ARM
362 depends on ARCH_MEDIATEK || COMPILE_TEST
363 select ARM_DMA_USE_IOMMU
364 select IOMMU_API
365 select MEMORY
366 select MTK_SMI
Honghui Zhangb17336c2016-06-08 17:51:00 +0800367 help
368 Support for the M4U on certain Mediatek SoCs. M4U generation 1 HW is
369 Multimedia Memory Managememt Unit. This option enables remapping of
370 DMA memory accesses for the multimedia subsystem.
371
372 if unsure, say N here.
373
Rob Clark0ae349a2017-08-09 10:43:04 -0400374config QCOM_IOMMU
375 # Note: iommu drivers cannot (yet?) be built as modules
376 bool "Qualcomm IOMMU Support"
Guenter Roecka4aaecc2017-09-10 13:43:37 -0700377 depends on ARCH_QCOM || (COMPILE_TEST && !GENERIC_ATOMIC64)
Rob Clark0ae349a2017-08-09 10:43:04 -0400378 select IOMMU_API
379 select IOMMU_IO_PGTABLE_LPAE
380 select ARM_DMA_USE_IOMMU
381 help
382 Support for IOMMU on certain Qualcomm SoCs.
383
Lan Tianyu29217a42019-02-27 22:54:04 +0800384config HYPERV_IOMMU
385 bool "Hyper-V x2APIC IRQ Handling"
Boqun Fengd7f0b2e2019-10-17 08:57:03 +0800386 depends on HYPERV && X86
Lan Tianyu29217a42019-02-27 22:54:04 +0800387 select IOMMU_API
388 default HYPERV
389 help
390 Stub IOMMU driver to handle IRQs as to allow Hyper-V Linux
391 guests to run with x2APIC mode enabled.
392
Jean-Philippe Bruckeredcd69a2019-01-15 12:19:57 +0000393config VIRTIO_IOMMU
Jean-Philippe Bruckerfa4afd72020-02-14 17:38:27 +0100394 tristate "Virtio IOMMU driver"
395 depends on VIRTIO
Jean-Philippe Bruckeredcd69a2019-01-15 12:19:57 +0000396 depends on ARM64
397 select IOMMU_API
398 select INTERVAL_TREE
399 help
400 Para-virtualised IOMMU driver with virtio.
401
402 Say Y here if you intend to run this kernel as a guest.
403
Ohad Ben-Cohenab493a02011-06-02 02:48:05 +0300404endif # IOMMU_SUPPORT