On 6/17/19 7:35 AM, Bastian Koppelmann wrote: > +static void tricore_tr_translate_insn(DisasContextBase *dcbase, CPUState > *cpu) > +{ > + DisasContext *ctx = container_of(dcbase, DisasContext, base); > + CPUTriCoreState *env = cpu->env_ptr; > + > + ctx->opcode = cpu_ldl_code(env, ctx->base.pc_next); > + decode_opc(ctx);
I'll note that there's an existing bug here, always reading 4 bytes with ldl. You need to load 2 bytes, look at the low bit as in decode_opc. If 16-bit, read nothing more; if 32-bit, read 2 more bytes. r~