diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2008-11-17 09:09:20 -0500 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2008-11-18 09:44:31 -0500 |
commit | 3ce1f93c6d53c3f91c3846cf66b018276c8ac2e7 (patch) | |
tree | b6dd5e06c031f03aa7c81da818e90c52569707f9 | |
parent | e5e1f606ecbf67e52ebe2df5d14f8b94ec6544d0 (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.txt | 2 | ||||
-rw-r--r-- | arch/x86/kernel/amd_iommu_init.c | 2 |
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 | |||
121 | LIST_HEAD(amd_iommu_unity_map); /* a list of required unity mappings | 121 | LIST_HEAD(amd_iommu_unity_map); /* a list of required unity mappings |
122 | we find in ACPI */ | 122 | we find in ACPI */ |
123 | unsigned amd_iommu_aperture_order = 26; /* size of aperture in power of 2 */ | 123 | unsigned amd_iommu_aperture_order = 26; /* size of aperture in power of 2 */ |
124 | int amd_iommu_isolate; /* if 1, device isolation is enabled */ | 124 | int amd_iommu_isolate = 1; /* if 1, device isolation is enabled */ |
125 | bool amd_iommu_unmap_flush; /* if true, flush on every unmap */ | 125 | bool amd_iommu_unmap_flush; /* if true, flush on every unmap */ |
126 | 126 | ||
127 | LIST_HEAD(amd_iommu_list); /* list of all AMD IOMMUs in the | 127 | LIST_HEAD(amd_iommu_list); /* list of all AMD IOMMUs in the |