diff options
| author | Kyle McMartin <kyle@redhat.com> | 2009-02-04 17:29:19 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-02-05 10:48:38 -0500 |
| commit | 0cd5c3c80a0ebd68c08312fa7d8c13149cc61c4c (patch) | |
| tree | 4dc6093ee08e668a182b38bd13cd85436555c4b6 /drivers/pci | |
| parent | b534816b552d35bbd3c60702139ed5c7da2f55c2 (diff) | |
x86: disable intel_iommu support by default
Due to recurring issues with DMAR support on certain platforms.
There's a number of filesystem corruption incidents reported:
https://bugzilla.redhat.com/show_bug.cgi?id=479996
http://bugzilla.kernel.org/show_bug.cgi?id=12578
Provide a Kconfig option to change whether it is enabled by
default.
If disabled, it can still be reenabled by passing intel_iommu=on to the
kernel. Keep the .config option off by default.
Signed-off-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-By: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/pci')
| -rw-r--r-- | drivers/pci/intel-iommu.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c index 3dfecb20d5e7..f4b7c79023ff 100644 --- a/drivers/pci/intel-iommu.c +++ b/drivers/pci/intel-iommu.c | |||
| @@ -268,7 +268,12 @@ static long list_size; | |||
| 268 | 268 | ||
| 269 | static void domain_remove_dev_info(struct dmar_domain *domain); | 269 | static void domain_remove_dev_info(struct dmar_domain *domain); |
| 270 | 270 | ||
| 271 | int dmar_disabled; | 271 | #ifdef CONFIG_DMAR_DEFAULT_ON |
| 272 | int dmar_disabled = 0; | ||
| 273 | #else | ||
| 274 | int dmar_disabled = 1; | ||
| 275 | #endif /*CONFIG_DMAR_DEFAULT_ON*/ | ||
| 276 | |||
| 272 | static int __initdata dmar_map_gfx = 1; | 277 | static int __initdata dmar_map_gfx = 1; |
| 273 | static int dmar_forcedac; | 278 | static int dmar_forcedac; |
| 274 | static int intel_iommu_strict; | 279 | static int intel_iommu_strict; |
| @@ -284,9 +289,12 @@ static int __init intel_iommu_setup(char *str) | |||
| 284 | if (!str) | 289 | if (!str) |
| 285 | return -EINVAL; | 290 | return -EINVAL; |
| 286 | while (*str) { | 291 | while (*str) { |
| 287 | if (!strncmp(str, "off", 3)) { | 292 | if (!strncmp(str, "on", 2)) { |
| 293 | dmar_disabled = 0; | ||
| 294 | printk(KERN_INFO "Intel-IOMMU: enabled\n"); | ||
| 295 | } else if (!strncmp(str, "off", 3)) { | ||
| 288 | dmar_disabled = 1; | 296 | dmar_disabled = 1; |
| 289 | printk(KERN_INFO"Intel-IOMMU: disabled\n"); | 297 | printk(KERN_INFO "Intel-IOMMU: disabled\n"); |
| 290 | } else if (!strncmp(str, "igfx_off", 8)) { | 298 | } else if (!strncmp(str, "igfx_off", 8)) { |
| 291 | dmar_map_gfx = 0; | 299 | dmar_map_gfx = 0; |
| 292 | printk(KERN_INFO | 300 | printk(KERN_INFO |
