| 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; |