while (cpu < nr_cpu_ids) {
int new_cpu, offset;
- /* Get the possible target cpus for @mask/@cpu from the apic */
- apic->vector_allocation_domain(cpu, vector_cpumask, mask);
+ cpumask_copy(vector_cpumask, cpumask_of(cpu));
/*
* Clear the offline cpus from @vector_cpumask for searching
irq_data->chip = &lapic_controller;
irq_data->chip_data = data;
irq_data->hwirq = virq + i;
+ irqd_set_single_target(irq_data);
err = assign_irq_vector_policy(virq + i, node, data, info,
irq_data);
if (err)
goto error;
- /*
- * If the apic destination mode is physical, then the
- * effective affinity is restricted to a single target
- * CPU. Mark the interrupt accordingly.
- */
- if (!apic->irq_dest_mode)
- irqd_set_single_target(irq_data);
}
return 0;
BUG_ON(!data);
data->cfg.vector = ISA_IRQ_VECTOR(i);
- cpumask_setall(data->domain);
+ cpumask_copy(data->domain, cpumask_of(0));
irq_set_chip_data(i, data);
}
}