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

[Xen-changelog] [xen-unstable] x86: IO-APIC code has no dependency on PCI



# HG changeset patch
# User Jan Beulich <jbeulich@xxxxxxxx>
# Date 1316712662 -3600
# Node ID 47ec1d405af9e9c0491681c50bb622d1c1f0904d
# Parent  d6e01c7853cfc35e946c6aa7ab3e70336d7c29b0
x86: IO-APIC code has no dependency on PCI

The IRQ handling code requires pcidevs_lock to be held only for MSI
interrupts.

As the handling of which was now fully moved into msi.c (i.e. while
applying fine without, the patch needs to be applied after the one
titled "x86: split MSI IRQ chip"), io_apic.c now also doesn't need to
include PCI headers anymore.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
---


diff -r d6e01c7853cf -r 47ec1d405af9 xen/arch/x86/io_apic.c
--- a/xen/arch/x86/io_apic.c    Thu Sep 22 18:29:19 2011 +0100
+++ b/xen/arch/x86/io_apic.c    Thu Sep 22 18:31:02 2011 +0100
@@ -27,8 +27,6 @@
 #include <xen/delay.h>
 #include <xen/sched.h>
 #include <xen/acpi.h>
-#include <xen/pci.h>
-#include <xen/pci_regs.h>
 #include <xen/keyhandler.h>
 #include <asm/mc146818rtc.h>
 #include <asm/smp.h>
@@ -2491,12 +2489,10 @@
 
         add_pin_to_irq(irq, apic, pin);
     }
-    spin_lock(&pcidevs_lock);
     spin_lock(&dom0->event_lock);
     ret = map_domain_pirq(dom0, pirq, irq,
             MAP_PIRQ_TYPE_GSI, NULL);
     spin_unlock(&dom0->event_lock);
-    spin_unlock(&pcidevs_lock);
     if ( ret < 0 )
         return ret;
 
diff -r d6e01c7853cf -r 47ec1d405af9 xen/arch/x86/irq.c
--- a/xen/arch/x86/irq.c        Thu Sep 22 18:29:19 2011 +0100
+++ b/xen/arch/x86/irq.c        Thu Sep 22 18:31:02 2011 +0100
@@ -1662,10 +1662,7 @@
     struct pirq *info;
     struct irq_desc *desc;
     unsigned long flags;
-    struct msi_desc *msi_desc;
-    struct pci_dev *pdev = NULL;
 
-    ASSERT(spin_is_locked(&pcidevs_lock));
     ASSERT(spin_is_locked(&d->event_lock));
 
     if ( !IS_PRIV(current->domain) &&
@@ -1708,6 +1705,10 @@
     if ( type == MAP_PIRQ_TYPE_MSI )
     {
         struct msi_info *msi = (struct msi_info *)data;
+        struct msi_desc *msi_desc;
+        struct pci_dev *pdev;
+
+        ASSERT(spin_is_locked(&pcidevs_lock));
 
         ret = -ENODEV;
         if ( !cpu_has_apic )

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


 


Rackspace

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