mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-09-09 08:17:53 -06:00
target/avr: Fix interrupt execution
Only one interrupt is in progress at the moment. It is only necessary to set to reset interrupt_request after all interrupts have been executed. Signed-off-by: Ivanov Arkasha <ivanovrkasha@gmail.com> Message-Id: <20210312164754.18437-1-arkaisp2021@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Michael Rolnik <mrolnik@gmail.com>
This commit is contained in:
parent
2e35dfb634
commit
56b90e60c4
1 changed files with 3 additions and 1 deletions
|
@ -49,7 +49,9 @@ bool avr_cpu_exec_interrupt(CPUState *cs, int interrupt_request)
|
||||||
cc->tcg_ops->do_interrupt(cs);
|
cc->tcg_ops->do_interrupt(cs);
|
||||||
|
|
||||||
env->intsrc &= env->intsrc - 1; /* clear the interrupt */
|
env->intsrc &= env->intsrc - 1; /* clear the interrupt */
|
||||||
|
if (!env->intsrc) {
|
||||||
cs->interrupt_request &= ~CPU_INTERRUPT_HARD;
|
cs->interrupt_request &= ~CPU_INTERRUPT_HARD;
|
||||||
|
}
|
||||||
|
|
||||||
ret = true;
|
ret = true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue