From: Jan Beulich Date: Fri, 13 Nov 2015 14:39:57 +0000 (+0100) Subject: Revert "x86/IO-APIC: fix setup of Xen internally used IRQs" X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~2273 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=5ea01bf96e5072ac88e23f35cd087a2fdb9eb856;p=xen.git Revert "x86/IO-APIC: fix setup of Xen internally used IRQs" This reverts commit 1126b40892ab56cb13c3cae5822bf3a18a689ffb, as it breaks (at least) x2apic systems. --- diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c index 464647ffb4..f8c8e559d0 100644 --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -2201,7 +2201,6 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int a { struct irq_desc *desc = irq_to_desc(irq); struct IO_APIC_route_entry entry; - cpumask_t mask; unsigned long flags; int vector; @@ -2221,6 +2220,7 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int a entry.delivery_mode = INT_DELIVERY_MODE; entry.dest_mode = INT_DEST_MODE; + SET_DEST(entry, logical, cpu_mask_to_apicid(TARGET_CPUS)); entry.trigger = edge_level; entry.polarity = active_high_low; entry.mask = 1; @@ -2236,9 +2236,6 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int a return vector; entry.vector = vector; - cpumask_and(&mask, desc->arch.cpu_mask, TARGET_CPUS); - SET_DEST(entry, logical, cpu_mask_to_apicid(&mask)); - apic_printk(APIC_DEBUG, KERN_DEBUG "IOAPIC[%d]: Set PCI routing entry " "(%d-%d -> %#x -> IRQ %d Mode:%i Active:%i)\n", ioapic, mp_ioapics[ioapic].mpc_apicid, pin, entry.vector, irq, diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index 1d884afde2..dabc929d4c 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -1084,7 +1084,7 @@ void __init smp_intr_init(void) vector = alloc_hipriority_vector(); per_cpu(vector_irq, cpu)[vector] = irq; irq_to_desc(irq)->arch.vector = vector; - cpumask_setall(irq_to_desc(irq)->arch.cpu_mask); + cpumask_copy(irq_to_desc(irq)->arch.cpu_mask, &cpu_online_map); } /* Direct IPI vectors. */