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

[Xen-devel] [PATCH 7/8] xen/pci: Move the allocation of IRQs when there

To: xen-devel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, Jeremy Fitzhardinge <jeremy@xxxxxxxx>, stefano.stabellini@xxxxxxxxxxxxx, Ian.Campbell@xxxxxxxxxx
Subject: [Xen-devel] [PATCH 7/8] xen/pci: Move the allocation of IRQs when there is no IOAPIC to the end
From: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Date: Wed, 15 Jun 2011 15:19:46 -0400
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Delivery-date: Wed, 15 Jun 2011 12:22:08 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1308165587-24902-1-git-send-email-konrad.wilk@xxxxxxxxxx>
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: <1308165587-24902-1-git-send-email-konrad.wilk@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
. 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@xxxxxxxxxx>
---
 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


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel