OSDN Git Service

linux-user/ppc: deliver SIGTRAP on POWERPC_EXCP_TRAP
authorMatheus Ferst <matheus.ferst@eldorado.org.br>
Thu, 13 Jan 2022 17:04:54 +0000 (14:04 -0300)
committerLaurent Vivier <laurent@vivier.eu>
Tue, 8 Mar 2022 15:01:08 +0000 (16:01 +0100)
Handle POWERPC_EXCP_TRAP in cpu_loop to deliver SIGTRAP on tw[i]/td[i].
The si_code comes from do_program_check in the kernel source file
arch/powerpc/kernel/traps.c

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Message-Id: <20220113170456.1796911-2-matheus.ferst@eldorado.org.br>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
linux-user/ppc/cpu_loop.c

index c5d8099..b468f19 100644 (file)
@@ -181,7 +181,8 @@ void cpu_loop(CPUPPCState *env)
                 }
                 break;
             case POWERPC_EXCP_TRAP:
-                cpu_abort(cs, "Tried to call a TRAP\n");
+                si_signo = TARGET_SIGTRAP;
+                si_code = TARGET_TRAP_BRKPT;
                 break;
             default:
                 /* Should not happen ! */