Jan Beulich
2011-Sep-21 11:01 UTC
[Xen-devel] [PATCH] 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@suse.com> --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -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> @@ -2493,12 +2491,10 @@ int ioapic_guest_write(unsigned long phy 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; --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -1661,10 +1661,7 @@ int map_domain_pirq( 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) && @@ -1707,6 +1704,10 @@ int map_domain_pirq( 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-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Reasonably Related Threads
- RE: [Xen-changelog] [xen-unstable] x86: Properly synchronise updates to pirq-to-vector mapping.
- [PATCH] Enable PCI passthrough with stub domain.
- [PATCH 4/4] x86: split MSI IRQ chip
- [Xen-devel] Crash during boot in Debian lenny default dom0 kernel (2.6.26-2-xen-686) / bugfix patch
- [xen-unstable test] 9061: regressions - FAIL