diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-03-13 17:08:30 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-03-13 17:08:30 +0100 |
commit | 063402356280a7b262952d6351d21315336f657b (patch) | |
tree | e6fae7db15d0f4cbb9b9b7aa2b5bc176b4bf60f5 /drivers/pci | |
parent | f9a36fa5413f1b2694841c410a6fdb4666e78f16 (diff) | |
parent | a98fe7f3425c6b4e90de16f8da63b0429a8fed08 (diff) | |
download | op-kernel-dev-063402356280a7b262952d6351d21315336f657b.zip op-kernel-dev-063402356280a7b262952d6351d21315336f657b.tar.gz |
Merge branch 'x86/core' into x86/kconfig
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/dmar.c | 7 | ||||
-rw-r--r-- | drivers/pci/intr_remapping.c | 1 |
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/pci/dmar.c b/drivers/pci/dmar.c index 26c536b..5f33340 100644 --- a/drivers/pci/dmar.c +++ b/drivers/pci/dmar.c @@ -42,6 +42,7 @@ LIST_HEAD(dmar_drhd_units); static struct acpi_table_header * __initdata dmar_tbl; +static acpi_size dmar_tbl_size; static void __init dmar_register_drhd_unit(struct dmar_drhd_unit *drhd) { @@ -288,8 +289,9 @@ static int __init dmar_table_detect(void) acpi_status status = AE_OK; /* if we could find DMAR table, then there are DMAR devices */ - status = acpi_get_table(ACPI_SIG_DMAR, 0, - (struct acpi_table_header **)&dmar_tbl); + status = acpi_get_table_with_size(ACPI_SIG_DMAR, 0, + (struct acpi_table_header **)&dmar_tbl, + &dmar_tbl_size); if (ACPI_SUCCESS(status) && !dmar_tbl) { printk (KERN_WARNING PREFIX "Unable to map DMAR\n"); @@ -489,6 +491,7 @@ void __init detect_intel_iommu(void) iommu_detected = 1; #endif } + early_acpi_os_unmap_memory(dmar_tbl, dmar_tbl_size); dmar_tbl = NULL; } diff --git a/drivers/pci/intr_remapping.c b/drivers/pci/intr_remapping.c index 45effc5..8e44db0 100644 --- a/drivers/pci/intr_remapping.c +++ b/drivers/pci/intr_remapping.c @@ -6,6 +6,7 @@ #include <linux/irq.h> #include <asm/io_apic.h> #include <asm/smp.h> +#include <asm/cpu.h> #include <linux/intel-iommu.h> #include "intr_remapping.h" |