aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2008-11-17 09:09:20 -0500
committerJoerg Roedel <joerg.roedel@amd.com>2008-11-18 09:44:31 -0500
commit3ce1f93c6d53c3f91c3846cf66b018276c8ac2e7 (patch)
treeb6dd5e06c031f03aa7c81da818e90c52569707f9
parente5e1f606ecbf67e52ebe2df5d14f8b94ec6544d0 (diff)
AMD IOMMU: enable device isolation per default
Impact: makes device isolation the default for AMD IOMMU Some device drivers showed double-free bugs of DMA memory while testing them with AMD IOMMU. If all devices share the same protection domain this can lead to data corruption and data loss. Prevent this by putting each device into its own protection domain per default. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
-rw-r--r--Documentation/kernel-parameters.txt2
-rw-r--r--arch/x86/kernel/amd_iommu_init.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index b56ee02d2514..f2e1e7fc0ffd 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -294,7 +294,7 @@ and is between 256 and 4096 characters. It is defined in the file
294 Possible values are: 294 Possible values are:
295 isolate - enable device isolation (each device, as far 295 isolate - enable device isolation (each device, as far
296 as possible, will get its own protection 296 as possible, will get its own protection
297 domain) 297 domain) [default]
298 share - put every device behind one IOMMU into the 298 share - put every device behind one IOMMU into the
299 same protection domain 299 same protection domain
300 fullflush - enable flushing of IO/TLB entries when 300 fullflush - enable flushing of IO/TLB entries when
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c
index 838a2e1d5bb2..595edd2befc6 100644
--- a/arch/x86/kernel/amd_iommu_init.c
+++ b/arch/x86/kernel/amd_iommu_init.c
@@ -121,7 +121,7 @@ u16 amd_iommu_last_bdf; /* largest PCI device id we have
121LIST_HEAD(amd_iommu_unity_map); /* a list of required unity mappings 121LIST_HEAD(amd_iommu_unity_map); /* a list of required unity mappings
122 we find in ACPI */ 122 we find in ACPI */
123unsigned amd_iommu_aperture_order = 26; /* size of aperture in power of 2 */ 123unsigned amd_iommu_aperture_order = 26; /* size of aperture in power of 2 */
124int amd_iommu_isolate; /* if 1, device isolation is enabled */ 124int amd_iommu_isolate = 1; /* if 1, device isolation is enabled */
125bool amd_iommu_unmap_flush; /* if true, flush on every unmap */ 125bool amd_iommu_unmap_flush; /* if true, flush on every unmap */
126 126
127LIST_HEAD(amd_iommu_list); /* list of all AMD IOMMUs in the 127LIST_HEAD(amd_iommu_list); /* list of all AMD IOMMUs in the