linux-user/nios2: Use force_sig_fault for EXCP_DEBUG
Use the simpler signal interface, which forces us to supply the missing PC value to si_addr. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20220421151735.31996-13-richard.henderson@linaro.org>
This commit is contained in:
parent
d2a11b40a4
commit
3a0a43ec3c
@ -26,7 +26,6 @@
|
|||||||
void cpu_loop(CPUNios2State *env)
|
void cpu_loop(CPUNios2State *env)
|
||||||
{
|
{
|
||||||
CPUState *cs = env_cpu(env);
|
CPUState *cs = env_cpu(env);
|
||||||
target_siginfo_t info;
|
|
||||||
int trapnr, ret;
|
int trapnr, ret;
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
@ -121,10 +120,7 @@ void cpu_loop(CPUNios2State *env)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case EXCP_DEBUG:
|
case EXCP_DEBUG:
|
||||||
info.si_signo = TARGET_SIGTRAP;
|
force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->regs[R_PC]);
|
||||||
info.si_errno = 0;
|
|
||||||
info.si_code = TARGET_TRAP_BRKPT;
|
|
||||||
queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
EXCP_DUMP(env, "\nqemu: unhandled CPU exception %#x - aborting\n",
|
EXCP_DUMP(env, "\nqemu: unhandled CPU exception %#x - aborting\n",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user