aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/amd_iommu_init.c
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2008-09-19 12:23:30 -0400
committerIngo Molnar <mingo@elte.hu>2008-09-22 14:43:37 -0400
commitafa9fdc2f5f8e4d98f3e77bfa204412cbc181346 (patch)
tree8e6c390d8dc18734f6071d2ddd7a2bca01fe9000 /arch/x86/kernel/amd_iommu_init.c
parented6dc4981368aa8ac89b0ea61535cfa2b03533cb (diff)
iommu: remove fullflush and nofullflush in IOMMU generic option
This patch against tip/x86/iommu virtually reverts 2842e5bf3115193f05dc9dac20f940e7abf44c1a. But just reverting the commit breaks AMD IOMMU so this patch also includes some fixes. The above commit adds new two options to x86 IOMMU generic kernel boot options, fullflush and nofullflush. But such change that affects all the IOMMUs needs more discussion (all IOMMU parties need the chance to discuss it): http://lkml.org/lkml/2008/9/19/106 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/amd_iommu_init.c')
-rw-r--r--arch/x86/kernel/amd_iommu_init.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c
index db0c83af44de..148fcfe22f17 100644
--- a/arch/x86/kernel/amd_iommu_init.c
+++ b/arch/x86/kernel/amd_iommu_init.c
@@ -122,6 +122,7 @@ LIST_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; /* if 1, device isolation is enabled */
125bool amd_iommu_unmap_flush; /* if true, flush on every unmap */
125 126
126LIST_HEAD(amd_iommu_list); /* list of all AMD IOMMUs in the 127LIST_HEAD(amd_iommu_list); /* list of all AMD IOMMUs in the
127 system */ 128 system */
@@ -1144,7 +1145,7 @@ int __init amd_iommu_init(void)
1144 else 1145 else
1145 printk("disabled\n"); 1146 printk("disabled\n");
1146 1147
1147 if (iommu_fullflush) 1148 if (amd_iommu_unmap_flush)
1148 printk(KERN_INFO "AMD IOMMU: IO/TLB flush on unmap enabled\n"); 1149 printk(KERN_INFO "AMD IOMMU: IO/TLB flush on unmap enabled\n");
1149 else 1150 else
1150 printk(KERN_INFO "AMD IOMMU: Lazy IO/TLB flushing enabled\n"); 1151 printk(KERN_INFO "AMD IOMMU: Lazy IO/TLB flushing enabled\n");
@@ -1214,6 +1215,8 @@ static int __init parse_amd_iommu_options(char *str)
1214 for (; *str; ++str) { 1215 for (; *str; ++str) {
1215 if (strncmp(str, "isolate", 7) == 0) 1216 if (strncmp(str, "isolate", 7) == 0)
1216 amd_iommu_isolate = 1; 1217 amd_iommu_isolate = 1;
1218 if (strncmp(str, "fullflush", 11) == 0)
1219 amd_iommu_unmap_flush = true;
1217 } 1220 }
1218 1221
1219 return 1; 1222 return 1;