[PATCH 10/17] xen: pre-initialize legacy irqs early

Jeremy Fitzhardinge
2009-05-12T23:31:30Z

From: Ian Campbell <ian.campbell@citrix.com>

Various legacy devices, such as IDE, assume their legacy interrupts are
already initialized and are immediately usable. Pre-initialize all the
legacy interrupts.

[ Impact: ISA/legacy device compat ]

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
---
arch/x86/xen/pci.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/pci.c b/arch/x86/xen/pci.c
index af4e898..402a5bd 100644
--- a/arch/x86/xen/pci.c
+++ b/arch/x86/xen/pci.c
@@ -63,9 +63,9 @@ int xen_register_gsi(u32 gsi, int triggering, int polarity)

void __init xen_setup_pirqs(void)
{
-#ifdef CONFIG_ACPI
int irq;

+#ifdef CONFIG_ACPI
/*
* Set up acpi interrupt in acpi_gbl_FADT.sci_interrupt.
*/
@@ -77,4 +77,8 @@ void __init xen_setup_pirqs(void)
/* Blerk. */
acpi_gbl_FADT.sci_interrupt = irq;
#endif
+
+ /* Pre-allocate legacy irqs */
+ for (irq = 0; irq < NR_IRQS_LEGACY; irq++)
+ xen_allocate_pirq(irq);
}
--
1.6.0.6