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

[email protected]
Newsgroups gmane.comp.emulators.qemu
Message-ID <[email protected]>
On Thu, 06 Aug 2026 01:23:04 +0900,
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: Yoshinori Sato <[email protected]>

-- 
Yosinori Sato
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.