Re: [PATCH v2] linux-user/sh4: Deliver SIGILL on invalid instruction

Richard Henderson <[email protected]>
Newsgroups org.nongnu.qemu-devel
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~
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.