arm_gic: gic_update should always update all cores
This patch fixes so that gic_update always updates all the cores with new pending irq states. If the function returns early it is possible to get interrupts that has already been acknowledged. Signed-off-by: Johan Karlsson <johan.karlsson@enea.com> [PMM: rebased to apply to current master] Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
4e42a6ca37
commit
235069a380
@ -71,7 +71,7 @@ void gic_update(GICState *s)
|
|||||||
|| !(s->cpu_ctlr[cpu] & (GICC_CTLR_EN_GRP0 | GICC_CTLR_EN_GRP1))) {
|
|| !(s->cpu_ctlr[cpu] & (GICC_CTLR_EN_GRP0 | GICC_CTLR_EN_GRP1))) {
|
||||||
qemu_irq_lower(s->parent_irq[cpu]);
|
qemu_irq_lower(s->parent_irq[cpu]);
|
||||||
qemu_irq_lower(s->parent_fiq[cpu]);
|
qemu_irq_lower(s->parent_fiq[cpu]);
|
||||||
return;
|
continue;
|
||||||
}
|
}
|
||||||
best_prio = 0x100;
|
best_prio = 0x100;
|
||||||
best_irq = 1023;
|
best_irq = 1023;
|
||||||
|
Loading…
Reference in New Issue
Block a user