Re: [PATCH v2] linux-user/sh4: Deliver SIGILL on invalid instruction
Richard Henderson <[email protected]> Wed, 5 Aug 2026 13:10:49 -0700
| Newsgroups | gmane.comp.emulators.qemu |
|---|---|
| Message-ID | <[email protected]> |
On 8/5/26 09:23, Mikulas Patocka wrote: > On invalid instruction, deliver SIGILL rather than crashing the whole > process unconditionally. > > Cc: [email protected] > Signed-off-by: Mikulas Patocka <[email protected]> > > --- > linux-user/sh4/cpu_loop.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > Index: qemu/linux-user/sh4/cpu_loop.c > =================================================================== > --- qemu.orig/linux-user/sh4/cpu_loop.c 2026-08-05 18:05:44.000000000 +0200 > +++ qemu/linux-user/sh4/cpu_loop.c 2026-08-05 18:12:12.000000000 +0200 > @@ -64,6 +64,13 @@ void cpu_loop(CPUSH4State *env) > cpu_exec_step_atomic(cs); > arch_interrupt = false; > break; > + case 0x180: > + /* Illegal instruction */ > + /* fallthrough */ > + case 0x1a0: > + /* Illegal instruction in delay slot */ > + force_sig_fault(TARGET_SIGILL, TARGET_ILL_ILLOPC, env->pc); > + break; > default: > fprintf(stderr, "Unhandled trap: 0x%x\n", trapnr); > cpu_dump_state(cs, stderr, 0); > Reviewed-by: Richard Henderson <[email protected]> r~