From: Edgar E. Iglesias Date: Fri, 11 Sep 2009 08:38:31 +0000 (+0200) Subject: microblaze: Trap if QEMU finds an unknown insns. X-Git-Tag: TizenStudio_2.0_p2.3~7577 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=74ec69a5ea04b54f4bc8a27b06cb953d24a25cab;p=sdk%2Femulator%2Fqemu.git microblaze: Trap if QEMU finds an unknown insns. If PVR settings enable illegal insn trap, trap when QEMU finds an insn it knows nothing about. Signed-off-by: Edgar E. Iglesias --- diff --git a/target-microblaze/translate.c b/target-microblaze/translate.c index 37d250f..fe53b2e 100644 --- a/target-microblaze/translate.c +++ b/target-microblaze/translate.c @@ -1144,6 +1144,12 @@ static void dec_fpu(DisasContext *dc) static void dec_null(DisasContext *dc) { + if ((dc->tb_flags & MSR_EE_FLAG) + && (dc->env->pvr.regs[2] & PVR2_ILL_OPCODE_EXC_MASK)) { + tcg_gen_movi_tl(cpu_SR[SR_ESR], ESR_EC_ILLEGAL_OP); + t_gen_raise_exception(dc, EXCP_HW_EXCP); + return; + } qemu_log ("unknown insn pc=%x opc=%x\n", dc->pc, dc->opcode); dc->abort_at_next_insn = 1; }