[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1308165587-24902-8-git-send-email-konrad.wilk@oracle.com>
Date: Wed, 15 Jun 2011 15:19:46 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
To: xen-devel@...ts.xensource.com, linux-kernel@...r.kernel.org,
Jeremy Fitzhardinge <jeremy@...p.org>,
stefano.stabellini@...citrix.com, Ian.Campbell@...rix.com
Cc: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
Subject: [PATCH 7/8] xen/pci: Move the allocation of IRQs when there is no IOAPIC to the end
. and also move the probing of ACPI (or MP tables) to be done before
this. Which means that we can actually get the IRQ's polarity (and trigger)
from either one of those entries. Previously - if we did not have an IOAPIC
we would not been able to do this.
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
---
arch/x86/pci/xen.c | 21 +++++++++------------
1 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index 7425d7d..b53e1b7 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -417,18 +417,6 @@ int __init pci_xen_initial_domain(void)
#ifdef CONFIG_ACPI
xen_setup_acpi_sci();
__acpi_register_gsi = acpi_register_gsi_xen;
-#endif
- if (0 == nr_ioapics) {
- for (irq = 0; irq < NR_IRQS_LEGACY; irq++) {
- pirq = xen_allocate_pirq_gsi(irq);
- if (WARN(pirq < 0,
- "Could not allocate PIRQ for legacy interrupt\n"))
- break;
- irq = xen_bind_pirq_gsi_to_irq(irq, pirq, 0, "xt-pic");
- }
- return 0;
- }
-#ifdef CONFIG_ACPI
/* Pre-allocate legacy irqs */
for (irq = 0; irq < NR_IRQS_LEGACY; irq++) {
int trigger, polarity;
@@ -440,6 +428,15 @@ int __init pci_xen_initial_domain(void)
trigger ? ACPI_LEVEL_SENSITIVE : ACPI_EDGE_SENSITIVE, true);
}
#endif
+ if (0 == nr_ioapics) {
+ for (irq = 0; irq < NR_IRQS_LEGACY; irq++) {
+ pirq = xen_allocate_pirq_gsi(irq);
+ if (WARN(pirq < 0,
+ "Could not allocate PIRQ for legacy interrupt\n"))
+ break;
+ irq = xen_bind_pirq_gsi_to_irq(irq, pirq, 0, "xt-pic");
+ }
+ }
return 0;
}
--
1.7.4.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists