aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2022-06-01 18:33:48 -0700
committerLaurent Vivier <laurent@vivier.eu>2022-06-02 09:35:02 +0200
commitcf213dacf8d9bc37889aeaebc781f5f55d705f0d (patch)
tree7c25ed668fda6f9ec0fc2195888f364e6b05c588
parenteeb8f7b0f84f86b5fa1e17aed851d758e1c7ee0f (diff)
downloadqemu-cf213dacf8d9bc37889aeaebc781f5f55d705f0d.zip
qemu-cf213dacf8d9bc37889aeaebc781f5f55d705f0d.tar.gz
qemu-cf213dacf8d9bc37889aeaebc781f5f55d705f0d.tar.bz2
linux-user/m68k: Handle EXCP_TRAP1 through EXCP_TRAP15
These are raised by guest instructions, and should not fall through into the default abort case. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220602013401.303699-5-richard.henderson@linaro.org> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
-rw-r--r--linux-user/m68k/cpu_loop.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/linux-user/m68k/cpu_loop.c b/linux-user/m68k/cpu_loop.c
index 56417f7..12e5d9c 100644
--- a/linux-user/m68k/cpu_loop.c
+++ b/linux-user/m68k/cpu_loop.c
@@ -75,7 +75,11 @@ void cpu_loop(CPUM68KState *env)
case EXCP_INTERRUPT:
/* just indicate that signals should be handled asap */
break;
+ case EXCP_TRAP0 + 1 ... EXCP_TRAP0 + 14:
+ force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLTRP, env->pc);
+ break;
case EXCP_DEBUG:
+ case EXCP_TRAP15:
force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->pc);
break;
case EXCP_ATOMIC: