mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* disallow interrupt remapping if not all ioapic under interrupt remapping
@ 2009-09-07 14:18 Youquan Song
  0 siblings, 0 replies; only message in thread
From: Youquan Song @ 2009-09-07 14:18 UTC (permalink / raw)
  To: mingo, hpa, tglx; +Cc: linux-kernel, dwmw2, Suresh Siddha, youquan.song

Current kernel enable interrupt remapping only when all the vt-d unit support
interrupt remapping. So it is reasonable we should also disallow enabling
intr-remapping if there any io-apics that are not listed under vt-d units. 
Otherwise we can run into issues.

Acked-by: Suresh Siddha <suresh.b.siddha@intel.com> 
Signed-off-by: Youquan Song <youquan.song@intel.com>
---

diff --git a/drivers/pci/dmar.c b/drivers/pci/dmar.c
index 7b287cb..a8a4383 100644
--- a/drivers/pci/dmar.c
+++ b/drivers/pci/dmar.c
@@ -570,9 +570,6 @@ int __init dmar_table_init(void)
 		printk(KERN_INFO PREFIX "No ATSR found\n");
 #endif
 
-#ifdef CONFIG_INTR_REMAP
-	parse_ioapics_under_ir();
-#endif
 	return 0;
 }
 
diff --git a/drivers/pci/intr_remapping.c b/drivers/pci/intr_remapping.c
index 4f5b871..ebfa47b 100644
--- a/drivers/pci/intr_remapping.c
+++ b/drivers/pci/intr_remapping.c
@@ -626,6 +626,11 @@ int __init enable_intr_remapping(int eim)
 	struct dmar_drhd_unit *drhd;
 	int setup = 0;
 
+	if (parse_ioapics_under_ir() != 1) {
+		printk(KERN_INFO "Not enable interrupt remapping\n");
+		return -1;
+	}
+
 	for_each_drhd_unit(drhd) {
 		struct intel_iommu *iommu = drhd->iommu;
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-09-07  6:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-07 14:18 disallow interrupt remapping if not all ioapic under interrupt remapping Youquan Song

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®