]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
AMD IOMMU: enable device isolation per default
authorJoerg Roedel <joerg.roedel@amd.com>
Mon, 17 Nov 2008 14:09:20 +0000 (15:09 +0100)
committerJoerg Roedel <joerg.roedel@amd.com>
Tue, 18 Nov 2008 14:44:31 +0000 (15:44 +0100)
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>
Documentation/kernel-parameters.txt
arch/x86/kernel/amd_iommu_init.c

index b56ee02d251488235426559a11fbf0b4b957796a..f2e1e7fc0ffd9cf462a2adb85e4269fc28e671a8 100644 (file)
@@ -294,7 +294,7 @@ and is between 256 and 4096 characters. It is defined in the file
                        Possible values are:
                        isolate - enable device isolation (each device, as far
                                  as possible, will get its own protection
-                                 domain)
+                                 domain) [default]
                        share - put every device behind one IOMMU into the
                                same protection domain
                        fullflush - enable flushing of IO/TLB entries when
index 838a2e1d5bb297bd048ed3d44bdf0b60ee090f7f..595edd2befc66ff8b4eb7aec27ba9d4047716d83 100644 (file)
@@ -121,7 +121,7 @@ u16 amd_iommu_last_bdf;                     /* largest PCI device id we have
 LIST_HEAD(amd_iommu_unity_map);                /* a list of required unity mappings
                                           we find in ACPI */
 unsigned amd_iommu_aperture_order = 26; /* size of aperture in power of 2 */
-int amd_iommu_isolate;                 /* if 1, device isolation is enabled */
+int amd_iommu_isolate = 1;             /* if 1, device isolation is enabled */
 bool amd_iommu_unmap_flush;            /* if true, flush on every unmap */
 
 LIST_HEAD(amd_iommu_list);             /* list of all AMD IOMMUs in the