From: Laurent Vivier Date: Thu, 26 Jan 2023 12:52:34 +0000 (+0100) Subject: m68k: fix 'bkpt' instruction in softmmu mode X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c1fc91b82545a2b8ab73f81e5b7b6b0fec292ea1;p=qemu.git m68k: fix 'bkpt' instruction in softmmu mode In linux-user mode, 'bkpt' generates an EXP_DEBUG exception to allow QEMU gdb server to intercept and manage the operation with an external debugger. In softmmu mode, the instruction must generate an illegal instruction exception as it is on real hardware to be managed by the kernel. Buglink: https://gitlab.com/qemu-project/qemu/-/issues/1462 Signed-off-by: Laurent Vivier Reviewed-by: Richard Henderson Message-Id: <20230126125234.3186042-1-laurent@vivier.eu> Signed-off-by: Laurent Vivier --- diff --git a/target/m68k/translate.c b/target/m68k/translate.c index 18418312b1..31178c3b1d 100644 --- a/target/m68k/translate.c +++ b/target/m68k/translate.c @@ -2774,7 +2774,11 @@ DISAS_INSN(swap) DISAS_INSN(bkpt) { +#if defined(CONFIG_SOFTMMU) + gen_exception(s, s->base.pc_next, EXCP_ILLEGAL); +#else gen_exception(s, s->base.pc_next, EXCP_DEBUG); +#endif } DISAS_INSN(pea)