[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Re: Continuing problems booting



  Hi,

> But the info I'm using to set up the legacy interrupts comes from acpi
> tables, I think, so perhaps its misprogramming the legacy interrupts,
> whereas before they just happened to work in their default config (???).

Well, if there is no info in the acpi tables, you'll ignore the IRQ
altogether ...

cheers,
  Gerd
diff --git a/arch/x86/xen/pci.c b/arch/x86/xen/pci.c
index 502ff5f..4041b6b 100644
--- a/arch/x86/xen/pci.c
+++ b/arch/x86/xen/pci.c
@@ -68,11 +68,15 @@ void __init xen_setup_pirqs(void)
        for (irq=0; irq < NR_IRQS_LEGACY; irq++) {
                int trigger, polarity;
 
-               if (acpi_get_override_irq(irq, &trigger, &polarity) == -1)
-                       continue;
+               if (acpi_get_override_irq(irq, &trigger, &polarity) == 0) {
+                       xen_register_gsi(irq,
+                               trigger ? ACPI_LEVEL_SENSITIVE : 
ACPI_EDGE_SENSITIVE,
+                               polarity ? ACPI_ACTIVE_LOW : ACPI_ACTIVE_HIGH);
+               } else {
+                       printk(KERN_DEBUG "%s: no acpi override for irq %d\n",
+                              __FUNCTION__, irq);
+                       xen_allocate_pirq(irq);
+               }
 
-               xen_register_gsi(irq,
-                       trigger ? ACPI_LEVEL_SENSITIVE : ACPI_EDGE_SENSITIVE,
-                       polarity ? ACPI_ACTIVE_LOW : ACPI_ACTIVE_HIGH);
        }
 }
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index d58da94..4c0329d 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -400,6 +400,9 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct 
irqaction *new)
        if (!desc)
                return -EINVAL;
 
+       printk("%s: desc [<%p>] %pS, name %s, chip [<%p>] %pS\n", __FUNCTION__, 
+              desc, desc, desc->name,
+               desc->chip, desc->chip);
        if (desc->chip == &no_irq_chip)
                return -ENOSYS;
        /*
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.