]> Git Repo - linux.git/blob - drivers/iommu/intel/Kconfig
dt-bindings: net: dsa: make phylink bindings required for CPU/DSA ports
[linux.git] / drivers / iommu / intel / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 # Intel IOMMU support
3 config DMAR_TABLE
4         bool
5
6 config DMAR_PERF
7         bool
8
9 config DMAR_DEBUG
10         bool
11
12 config INTEL_IOMMU
13         bool "Support for Intel IOMMU using DMA Remapping Devices"
14         depends on PCI_MSI && ACPI && (X86 || IA64)
15         select DMA_OPS
16         select IOMMU_API
17         select IOMMU_IOVA
18         select NEED_DMA_MAP_STATE
19         select DMAR_TABLE
20         select SWIOTLB
21         select IOASID
22         select IOMMU_DMA
23         select PCI_ATS
24         help
25           DMA remapping (DMAR) devices support enables independent address
26           translations for Direct Memory Access (DMA) from devices.
27           These DMA remapping devices are reported via ACPI tables
28           and include PCI device scope covered by these DMA
29           remapping devices.
30
31 if INTEL_IOMMU
32
33 config INTEL_IOMMU_DEBUGFS
34         bool "Export Intel IOMMU internals in Debugfs"
35         depends on IOMMU_DEBUGFS
36         select DMAR_PERF
37         select DMAR_DEBUG
38         help
39           !!!WARNING!!!
40
41           DO NOT ENABLE THIS OPTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!!!
42
43           Expose Intel IOMMU internals in Debugfs.
44
45           This option is -NOT- intended for production environments, and should
46           only be enabled for debugging Intel IOMMU.
47
48 config INTEL_IOMMU_SVM
49         bool "Support for Shared Virtual Memory with Intel IOMMU"
50         depends on X86_64
51         select PCI_PASID
52         select PCI_PRI
53         select MMU_NOTIFIER
54         select IOASID
55         select IOMMU_SVA
56         help
57           Shared Virtual Memory (SVM) provides a facility for devices
58           to access DMA resources through process address space by
59           means of a Process Address Space ID (PASID).
60
61 config INTEL_IOMMU_DEFAULT_ON
62         bool "Enable Intel DMA Remapping Devices by default"
63         default y
64         help
65           Selecting this option will enable a DMAR device at boot time if
66           one is found. If this option is not selected, DMAR support can
67           be enabled by passing intel_iommu=on to the kernel.
68
69 config INTEL_IOMMU_BROKEN_GFX_WA
70         bool "Workaround broken graphics drivers (going away soon)"
71         depends on BROKEN && X86
72         help
73           Current Graphics drivers tend to use physical address
74           for DMA and avoid using DMA APIs. Setting this config
75           option permits the IOMMU driver to set a unity map for
76           all the OS-visible memory. Hence the driver can continue
77           to use physical addresses for DMA, at least until this
78           option is removed in the 2.6.32 kernel.
79
80 config INTEL_IOMMU_FLOPPY_WA
81         def_bool y
82         depends on X86
83         help
84           Floppy disk drivers are known to bypass DMA API calls
85           thereby failing to work when IOMMU is enabled. This
86           workaround will setup a 1:1 mapping for the first
87           16MiB to make floppy (an ISA device) work.
88
89 config INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
90         bool "Enable Intel IOMMU scalable mode by default"
91         default y
92         help
93           Selecting this option will enable by default the scalable mode if
94           hardware presents the capability. The scalable mode is defined in
95           VT-d 3.0. The scalable mode capability could be checked by reading
96           /sys/devices/virtual/iommu/dmar*/intel-iommu/ecap. If this option
97           is not selected, scalable mode support could also be enabled by
98           passing intel_iommu=sm_on to the kernel. If not sure, please use
99           the default value.
100
101 endif # INTEL_IOMMU
This page took 0.042885 seconds and 4 git commands to generate.