David Woodhouse
5854d9c8d1
Fix handling of the HP/Acer 'DMAR at zero' BIOS error for machines with <4GiB RAM.
...
Commit 86cf898e1d ("intel-iommu: Check for
'DMAR at zero' BIOS error earlier.") was supposed to work by pretending
not to detect an IOMMU if it was actually being reported by the BIOS at
physical address zero.
However, the intel_iommu_init() function is called unconditionally, as
are the corresponding functions for other IOMMU hardware.
So the patch only worked if you have RAM above the 4GiB boundary. It
caused swiotlb to be initialised when no IOMMU was detected during early
boot, and thus the later IOMMU init would refuse to run.
But if you have less RAM than that, swiotlb wouldn't get set up and the
IOMMU _would_ still end up being initialised, even though we never
claimed to detect it.
This patch also sets the dmar_disabled flag when the error is detected
during the initial detection phase -- so that the later call to
intel_iommu_init() will return without doing anything, regardless of
whether swiotlb is used or not.
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-11-19 13:42:02 -08:00
..
hotplug
headers: Fix build after <linux/sched.h> removal
2009-10-13 10:20:16 -07:00
pcie
PCI ASPM: fix oops on root port removal
2009-11-06 14:01:23 -08:00
.gitignore
access.c
PCI: Add pci_bus_set_ops
2009-06-16 14:29:33 -07:00
bus.c
PCI AER: support Multiple Error Received and no error source id
2009-06-16 14:30:13 -07:00
dmar.c
Fix handling of the HP/Acer 'DMAR at zero' BIOS error for machines with <4GiB RAM.
2009-11-19 13:42:02 -08:00
hotplug-pci.c
PCI: fix section mismatch warning in pci_scan_child_bus
2008-03-04 15:07:03 -08:00
hotplug.c
Driver core: change add_uevent_var to use a struct
2007-10-12 14:51:01 -07:00
htirq.c
Merge branch 'x86/apic' into irq/numa
2009-05-12 12:17:36 +02:00
intel-iommu.c
intel-iommu: Support PCIe hot-plug
2009-11-12 02:28:45 +00:00
intr_remapping.c
Merge git://git.infradead.org/iommu-2.6
2009-09-23 10:06:10 -07:00
intr_remapping.h
Intel-IOMMU, intr-remap: source-id checking
2009-06-23 22:09:17 +01:00
iov.c
PCI SR-IOV: correct broken resource alignment calculations
2009-08-30 08:37:25 -07:00
iova.c
intel-iommu: Remove superfluous iova_alloc_lock from IOVA code
2009-07-15 08:17:02 +01:00
irq.c
PCI: struct device - replace bus_id with dev_name(), dev_set_name()
2009-01-07 11:12:23 -08:00
Kconfig
PCI: initialize and release SR-IOV capability
2009-03-20 10:48:22 -07:00
legacy.c
PCI: disable pci_find_device warnings when deprecated pci functions are enabled
2009-09-09 13:29:25 -07:00
Makefile
PCI: disable pci_find_device warnings when deprecated pci functions are enabled
2009-09-09 13:29:25 -07:00
msi.c
PCI MSI: Style cleanups
2009-09-09 13:29:35 -07:00
msi.h
PCI MSI: shorten PCI_MSIX_ENTRY_* symbol names
2009-06-29 12:15:19 -07:00
pci-acpi.c
PCI / ACPI PM: Propagate wake-up enable for devices w/o ACPI support
2009-09-09 14:19:24 -07:00
pci-driver.c
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
2009-09-16 07:49:54 -07:00
pci-stub.c
PCI: pci-stub: add pci_stub.ids parameter
2009-09-09 13:44:34 -07:00
pci-sysfs.c
PCI: expose function reset capability in sysfs
2009-09-09 13:29:24 -07:00
pci.c
Merge git://git.infradead.org/~dwmw2/iommu-2.6.32
2009-10-13 10:04:40 -07:00
pci.h
PCI: Simplify hotplug mch quirk.
2009-09-09 14:06:49 -07:00
probe.c
PCI: Clear saved_state after the state has been restored
2009-09-14 13:41:46 -07:00
proc.c
PCI: define PCI resource names in an 'enum'
2009-01-07 11:13:01 -08:00
quirks.c
ahci / atiixp / pci quirks: rename AMD SB900 into Hudson-2
2009-10-16 06:21:20 -04:00
remove.c
PCI: eliminate redundant pci_stop_dev() call from pci_destroy_dev()
2009-06-11 12:04:19 -07:00
rom.c
PCI: fix rom.c kernel-doc warning
2009-02-13 12:01:56 -08:00
search.c
PCI: disable pci_find_device warnings when deprecated pci functions are enabled
2009-09-09 13:29:25 -07:00
setup-bus.c
Revert "PCI: get larger bridge ranges when space is available"
2009-10-27 09:39:18 -07:00
setup-irq.c
PCI: use dev_printk when possible
2008-06-25 16:05:13 -07:00
setup-res.c
PCI: remove pci_assign_resource_fixed()
2009-10-06 09:42:04 -07:00
slot.c
PCI: fix kernel-doc warnings
2009-06-29 12:13:56 -07:00
syscall.c
headers: smp_lock.h redux
2009-07-12 12:22:34 -07:00