[patch 2/4] x86, vtd: fix the vt-d fault handling irq migration in the x2apic mode

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Suresh Siddha
Date: Tuesday, November 30, 2010 - 11:22 pm

From: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Subject: x86, vtd: fix the vt-d fault handling irq migration in the x2apic mode

In x2apic mode, we need to set the upper address register of the fault
handling interrupt register of the vt-d hardware. Without this
irq migration of the vt-d fault handling interrupt is broken.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: stable@kernel.org [v2.6.32+]
---
 arch/x86/kernel/apic/io_apic.c |    2 ++
 1 file changed, 2 insertions(+)

Index: tip/arch/x86/kernel/apic/io_apic.c
===================================================================
--- tip.orig/arch/x86/kernel/apic/io_apic.c
+++ tip/arch/x86/kernel/apic/io_apic.c
@@ -3367,6 +3367,8 @@ dmar_msi_set_affinity(struct irq_data *d
 	msg.data |= MSI_DATA_VECTOR(cfg->vector);
 	msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
 	msg.address_lo |= MSI_ADDR_DEST_ID(dest);
+	if (x2apic_mode)
+		msg.address_hi = MSI_ADDR_BASE_HI | MSI_ADDR_EXT_DEST_ID(dest);
 
 	dmar_msi_write(irq, &msg);
 


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch 2/4] x86, vtd: fix the vt-d fault handling irq migr ..., Suresh Siddha, (Tue Nov 30, 11:22 pm)
[tip:x86/urgent] x86, vt-d: Quirk for masking vtd spec err ..., tip-bot for Suresh S ..., (Mon Dec 13, 6:15 pm)
[tip:x86/urgent] x86, vt-d: Fix the vt-d fault handling ir ..., tip-bot for Kenji Ka ..., (Mon Dec 13, 6:16 pm)
[tip:x86/urgent] x86: Enable the intr-remap fault handling ..., tip-bot for Kenji Ka ..., (Mon Dec 13, 6:16 pm)
[tip:x86/urgent] x86, vt-d: Handle previous faults after e ..., tip-bot for Suresh S ..., (Mon Dec 13, 6:17 pm)