Reviewed-by: Michael Rolnik <mrolnik@gmail.com>
On Fri, Aug 26, 2022 at 11:55 PM Richard Henderson <
richard.henderson@linaro.org> wrote:
> We cannot deliver two interrupts simultaneously;
> the first interrupt handler must execute first.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> target/avr/helper.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/target/avr/helper.c b/target/avr/helper.c
> index 9614ccf3e4..34f1cbffb2 100644
> --- a/target/avr/helper.c
> +++ b/target/avr/helper.c
> @@ -28,7 +28,6 @@
>
> bool avr_cpu_exec_interrupt(CPUState *cs, int interrupt_request)
> {
> - bool ret = false;
> AVRCPU *cpu = AVR_CPU(cs);
> CPUAVRState *env = &cpu->env;
>
> @@ -38,8 +37,7 @@ bool avr_cpu_exec_interrupt(CPUState *cs, int
> interrupt_request)
> avr_cpu_do_interrupt(cs);
>
> cs->interrupt_request &= ~CPU_INTERRUPT_RESET;
> -
> - ret = true;
> + return true;
> }
> }
> if (interrupt_request & CPU_INTERRUPT_HARD) {
> @@ -52,11 +50,10 @@ bool avr_cpu_exec_interrupt(CPUState *cs, int
> interrupt_request)
> if (!env->intsrc) {
> cs->interrupt_request &= ~CPU_INTERRUPT_HARD;
> }
> -
> - ret = true;
> + return true;
> }
> }
> - return ret;
> + return false;
> }
>
> void avr_cpu_do_interrupt(CPUState *cs)
> --
> 2.34.1
>
>
--
Best Regards,
Michael Rolnik