From c1fc91b82545a2b8ab73f81e5b7b6b0fec292ea1 Mon Sep 17 00:00:00 2001 From: Laurent Vivier Date: Thu, 26 Jan 2023 13:52:34 +0100 Subject: [PATCH] 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 --- target/m68k/translate.c | 4 ++++ 1 file changed, 4 insertions(+) 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)