19 #include <asm/delay.h>
20 #include <asm/uaccess.h>
21 #include <linux/module.h>
35 #ifdef CONFIG_IA64_GENERIC
63 static char irq_redir [
NR_IRQS];
70 irq_redir[irq] = (
char) (redir & 0xff);
78 if (cpumask_weight(cpumask) != 1)
86 #ifdef CONFIG_HOTPLUG_CPU
87 unsigned int vectors_in_migration[
NR_IRQS];
97 for (irq=0; irq <
NR_IRQS; irq++) {
102 if (irqd_irq_disabled(data))
111 if (irqd_is_per_cpu(data))
119 vectors_in_migration[irq] = irq;
144 extern void ia64_process_pending_intr(
void);
148 ia64_set_itv(1 << 16);
154 time_keeper_id = cpumask_first(cpu_online_mask);
155 printk (
"CPU %d is now promoted to time-keeper master\n", time_keeper_id);
168 ia64_process_pending_intr();
175 for (irq=0; irq <
NR_IRQS; irq++) {
176 if (vectors_in_migration[irq]) {
179 vectors_in_migration[irq]=0;
181 set_irq_regs(old_regs);