aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic/io_apic.c
diff options
context:
space:
mode:
authorSuresh Siddha <suresh.b.siddha@intel.com>2009-03-16 20:04:55 -0400
committerH. Peter Anvin <hpa@linux.intel.com>2009-03-17 18:38:59 -0400
commit9d783ba042771284fb4ee5013c3d94220755ae7f (patch)
tree102ec9f89d363589108ae35e4b38c12fc6e2765c /arch/x86/kernel/apic/io_apic.c
parent0ac2491f57af5644f88383d28809760902d6f4d7 (diff)
x86, x2apic: enable fault handling for intr-remapping
Impact: interface augmentation (not yet used) Enable fault handling flow for intr-remapping aswell. Fault handling code now shared by both dma-remapping and intr-remapping. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/kernel/apic/io_apic.c')
-rw-r--r--arch/x86/kernel/apic/io_apic.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 00e6071cefc..b18a7734d68 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -3294,7 +3294,12 @@ static int msi_compose_msg(struct pci_dev *pdev, unsigned int irq, struct msi_ms
3294 } else 3294 } else
3295#endif 3295#endif
3296 { 3296 {
3297 msg->address_hi = MSI_ADDR_BASE_HI; 3297 if (x2apic_enabled())
3298 msg->address_hi = MSI_ADDR_BASE_HI |
3299 MSI_ADDR_EXT_DEST_ID(dest);
3300 else
3301 msg->address_hi = MSI_ADDR_BASE_HI;
3302
3298 msg->address_lo = 3303 msg->address_lo =
3299 MSI_ADDR_BASE_LO | 3304 MSI_ADDR_BASE_LO |
3300 ((apic->irq_dest_mode == 0) ? 3305 ((apic->irq_dest_mode == 0) ?
@@ -3528,7 +3533,7 @@ void arch_teardown_msi_irq(unsigned int irq)
3528 destroy_irq(irq); 3533 destroy_irq(irq);
3529} 3534}
3530 3535
3531#ifdef CONFIG_DMAR 3536#if defined (CONFIG_DMAR) || defined (CONFIG_INTR_REMAP)
3532#ifdef CONFIG_SMP 3537#ifdef CONFIG_SMP
3533static void dmar_msi_set_affinity(unsigned int irq, const struct cpumask *mask) 3538static void dmar_msi_set_affinity(unsigned int irq, const struct cpumask *mask)
3534{ 3539{