[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] target/avr: Fix interrupt execution
From: |
Arkadiy |
Subject: |
[PATCH] target/avr: Fix interrupt execution |
Date: |
Fri, 12 Mar 2021 19:47:54 +0300 |
From: NDNF <arkaisp2021@gmail.com>
Only one interrupt is in progress at the moment.It is necessary to set to
reset interrupt_request only after all interrupts have been executed
Signed-off-by: Arkasha <ivanovrkasha@gmail.com>
---
target/avr/helper.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/target/avr/helper.c b/target/avr/helper.c
index 65880b9928..9f20cc198e 100644
--- a/target/avr/helper.c
+++ b/target/avr/helper.c
@@ -49,7 +49,9 @@ bool avr_cpu_exec_interrupt(CPUState *cs, int
interrupt_request)
cc->tcg_ops->do_interrupt(cs);
env->intsrc &= env->intsrc - 1; /* clear the interrupt */
- cs->interrupt_request &= ~CPU_INTERRUPT_HARD;
+ if (!env->intsrc) {
+ cs->interrupt_request &= ~CPU_INTERRUPT_HARD;
+ }
ret = true;
}
--
2.17.1
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] target/avr: Fix interrupt execution,
Arkadiy <=