{
struct irq_desc *desc = irq_to_desc(irq);
struct IO_APIC_route_entry entry;
- cpumask_t mask;
unsigned long flags;
int vector;
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;
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,
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. */