if (priority > dst->raised.priority) {
IRQ_get_next(opp, &dst->raised);
DPRINTF("Raise CPU IRQ\n");
- cpu_interrupt(cpu_single_env, CPU_INTERRUPT_HARD);
+ /* XXX: choose the correct cpu */
+ cpu_interrupt(first_cpu, CPU_INTERRUPT_HARD);
}
}
/* XXX: Should be able to reset any CPU */
if (val & 1) {
DPRINTF("Reset CPU IRQ\n");
- // cpu_interrupt(cpu_single_env, CPU_INTERRUPT_RESET);
+ // cpu_interrupt(first_cpu, CPU_INTERRUPT_RESET);
}
break;
#if MAX_IPI > 0
src = &opp->src[n_IRQ];
if (IPVP_PRIORITY(src->ipvp) > dst->servicing.priority) {
DPRINTF("Raise CPU IRQ\n");
- cpu_interrupt(cpu_single_env, CPU_INTERRUPT_HARD);
+ /* XXX: choose cpu */
+ cpu_interrupt(first_cpu, CPU_INTERRUPT_HARD);
}
}
break;