diff --git a/target/cr16c/helper.c b/target/cr16c/helper.c index c214ec664e..17b997e059 100644 --- a/target/cr16c/helper.c +++ b/target/cr16c/helper.c @@ -8,7 +8,9 @@ void helper_raise_illegal_instruction(CPUCR16CState* env) { qemu_printf("Illegal instruction, CPU state was:\n"); cr16c_debug_dump_state(env_cpu(env)); - qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); + //qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); + qemu_system_debug_request(); + //qemu_system_reset_request(SHUTDOWN) } void helper_raise_unimplemented_instruction(void) { diff --git a/target/cr16c/translate.c b/target/cr16c/translate.c index 6066dc6936..5e40a8759f 100644 --- a/target/cr16c/translate.c +++ b/target/cr16c/translate.c @@ -1473,6 +1473,7 @@ static void cr16c_tr_translate_insn(DisasContextBase *base, CPUState *cs) { uint64_t insn = decode_load(ctx); if(!decode(ctx, insn)) { // TOOD: Illegal Instruction + error_report("cr16c_tr_translate_insn, illegal instr, insn: 0x%04lx @ 0x%04x\n", insn, ctx->env->pc); gen_helper_raise_illegal_instruction(tcg_env); base->is_jmp = DISAS_NORETURN; base->pc_next += 2;