summary refs log tree commit diff stats
path: root/linux-user/m68k/cpu_loop.c
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 /linux-user/m68k/cpu_loop.c
parenteeb8f7b0f84f86b5fa1e17aed851d758e1c7ee0f (diff)
downloadfocaccia-qemu-cf213dacf8d9bc37889aeaebc781f5f55d705f0d.tar.gz
focaccia-qemu-cf213dacf8d9bc37889aeaebc781f5f55d705f0d.zip
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>
Diffstat (limited to 'linux-user/m68k/cpu_loop.c')
-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 56417f7401..12e5d9cd53 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: