Message ID | 20220527164807.135038-5-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | target/m68k: Conditional traps + trap cleanup | expand |
Le 27/05/2022 à 18:47, Richard Henderson a écrit : > 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> > --- > linux-user/m68k/cpu_loop.c | 4 ++++ > 1 file changed, 4 insertions(+) > > 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: Reviewed-by: Laurent Vivier <laurent@vivier.eu>
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:
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> --- linux-user/m68k/cpu_loop.c | 4 ++++ 1 file changed, 4 insertions(+)