[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 3/4] target/avr: Only execute one interrupt at a time
From: |
Richard Henderson |
Subject: |
[PULL 3/4] target/avr: Only execute one interrupt at a time |
Date: |
Thu, 1 Sep 2022 07:51:52 +0100 |
We cannot deliver two interrupts simultaneously;
the first interrupt handler must execute first.
Reviewed-by: Michael Rolnik <mrolnik@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
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
- [PULL 02/20] linux-user/hppa: Allocate page zero as a commpage, (continued)
- [PULL 02/20] linux-user/hppa: Allocate page zero as a commpage, Richard Henderson, 2022/09/01
- [PULL 2/4] target/avr: Call avr_cpu_do_interrupt directly, Richard Henderson, 2022/09/01
- [PULL 06/20] tests/tcg/i386: Move smc_code2 to an executable section, Richard Henderson, 2022/09/01
- [PULL 10/20] accel/tcg: Make tb_htable_lookup static, Richard Henderson, 2022/09/01
- [PULL 05/20] linux-user: Clear translations on mprotect(), Richard Henderson, 2022/09/01
- [PULL 07/20] accel/tcg: Introduce is_same_page(), Richard Henderson, 2022/09/01
- [PULL 12/20] accel/tcg: Use probe_access_internal for softmmu get_page_addr_code_hostp, Richard Henderson, 2022/09/01
- [PULL 4/4] target/avr: Disable interrupts when env->skip set, Richard Henderson, 2022/09/01
- [PULL 11/20] accel/tcg: Move qemu_ram_addr_from_host_nofail to physmem.c, Richard Henderson, 2022/09/01
- [PULL 03/20] linux-user/x86_64: Allocate vsyscall page as a commpage, Richard Henderson, 2022/09/01
- [PULL 3/4] target/avr: Only execute one interrupt at a time,
Richard Henderson <=
- [PULL 04/20] linux-user: Honor PT_GNU_STACK, Richard Henderson, 2022/09/01
- [PULL 14/20] accel/tcg: Remove translator_ldsw, Richard Henderson, 2022/09/01
- [PULL 09/20] accel/tcg: Unlock mmap_lock after longjmp, Richard Henderson, 2022/09/01
- [PULL 08/20] accel/tcg: Properly implement get_page_addr_code for user-only, Richard Henderson, 2022/09/01
- [PULL 13/20] accel/tcg: Document the faulting lookup in tb_lookup_cmp, Richard Henderson, 2022/09/01
- [PULL 15/20] accel/tcg: Add pc and host_pc params to gen_intermediate_code, Richard Henderson, 2022/09/01
- [PULL 16/20] accel/tcg: Add fast path for translator_ld*, Richard Henderson, 2022/09/01
- [PULL 17/20] target/s390x: Make translator stop before the end of a page, Richard Henderson, 2022/09/01
- [PULL 18/20] target/i386: Make translator stop before the end of a page, Richard Henderson, 2022/09/01
- [PULL 19/20] target/riscv: Add MAX_INSN_LEN and insn_len, Richard Henderson, 2022/09/01