WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Subject: Re: [Xen-devel] Re: Continuing problems booting
From: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon, 09 Mar 2009 14:20:22 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, M A Young <m.a.young@xxxxxxxxxxxx>
Delivery-date: Mon, 09 Mar 2009 06:21:02 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <49B14A87.1030504@xxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <alpine.GSO.2.00.0902201239010.757@xxxxxxxxxxxxxxxx> <alpine.GSO.2.00.0902201554500.757@xxxxxxxxxxxxxxxx> <alpine.LFD.2.00.0902211225540.14632@xxxxxxxxxxxxxxx> <49A0F68D.9070306@xxxxxxxx> <alpine.LFD.2.00.0902220922040.4149@xxxxxxxxxxxxxxx> <alpine.LFD.2.00.0902221449410.17196@xxxxxxxxxxxxxxx> <49A187B8.7000902@xxxxxxxx> <alpine.LFD.2.00.0902222257230.4472@xxxxxxxxxxxxxxx> <49A1DD80.1080903@xxxxxxxx> <alpine.LFD.2.00.0902222359090.4472@xxxxxxxxxxxxxxx> <49A241EC.3050300@xxxxxxxx> <alpine.LFD.2.00.0902242228550.12607@xxxxxxxxxxxxxxx> <alpine.LFD.2.00.0902272317030.17305@xxxxxxxxxxxxxxx> <49A890FF.4080803@xxxxxxxx> <49ABAF7C.6050906@xxxxxxxxxx> <49AF5FEB.4010508@xxxxxxxx> <49AF80C1.2060307@xxxxxxxxxx> <49AFB122.5040301@xxxxxxxxxx> <49B02069.5000207@xxxxxxxx> <49B12FE4.7050503@xxxxxxxxxx> <49B13F2F.1060100@xxxxxxxx> <49B1426E.3080901@xxxxxxxxxx> <49B14A87.1030504@xxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.19 (X11/20090105)
  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