265 |
if (priority > dst->raised.priority) { |
if (priority > dst->raised.priority) { |
266 |
IRQ_get_next(opp, &dst->raised); |
IRQ_get_next(opp, &dst->raised); |
267 |
DPRINTF("Raise CPU IRQ\n"); |
DPRINTF("Raise CPU IRQ\n"); |
268 |
cpu_interrupt(cpu_single_env, CPU_INTERRUPT_HARD); |
/* XXX: choose the correct cpu */ |
269 |
|
cpu_interrupt(first_cpu, CPU_INTERRUPT_HARD); |
270 |
} |
} |
271 |
} |
} |
272 |
|
|
533 |
/* XXX: Should be able to reset any CPU */ |
/* XXX: Should be able to reset any CPU */ |
534 |
if (val & 1) { |
if (val & 1) { |
535 |
DPRINTF("Reset CPU IRQ\n"); |
DPRINTF("Reset CPU IRQ\n"); |
536 |
// cpu_interrupt(cpu_single_env, CPU_INTERRUPT_RESET); |
// cpu_interrupt(first_cpu, CPU_INTERRUPT_RESET); |
537 |
} |
} |
538 |
break; |
break; |
539 |
#if MAX_IPI > 0 |
#if MAX_IPI > 0 |
782 |
src = &opp->src[n_IRQ]; |
src = &opp->src[n_IRQ]; |
783 |
if (IPVP_PRIORITY(src->ipvp) > dst->servicing.priority) { |
if (IPVP_PRIORITY(src->ipvp) > dst->servicing.priority) { |
784 |
DPRINTF("Raise CPU IRQ\n"); |
DPRINTF("Raise CPU IRQ\n"); |
785 |
cpu_interrupt(cpu_single_env, CPU_INTERRUPT_HARD); |
/* XXX: choose cpu */ |
786 |
|
cpu_interrupt(first_cpu, CPU_INTERRUPT_HARD); |
787 |
} |
} |
788 |
} |
} |
789 |
break; |
break; |