On 19 September 2012 01:14, Richard Henderson <r...@twiddle.net> wrote: > On 09/18/2012 01:18 PM, Alexander Graf wrote: >>> - /* remember what pgm exeption this was */ >>> + /* Remember what pgm exeption this was. */
...if you're changing this comment then at least fix the typo ("exception")... >>> tmp = tcg_const_i32(code); >>> tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUS390XState, int_pgm_code)); >>> tcg_temp_free_i32(tmp); >>> - tmp = tcg_const_i32(ilc); >>> + tmp = tcg_const_i32(s->next_pc - s->pc); >> >> Mind to explain this one? > > ILC = the size of the insn. Rather than passing ILC around into > gen_program_exception, get it back from the s->next_pc value that > we stored into DisasContext. ...but isn't (s-next_pc - s->pc) ilc*2, not ilc? Compare this hunk from elsewhere in the patch: - tmp32_2 = tcg_const_i32(ilc * 2); - tmp32_3 = tcg_const_i32(EXCP_SVC); + tmp32_2 = tcg_const_i32(s->next_pc - s->pc); -- PMM