Re: [Qemu-devel] [PATCH 24/26] target-xtensa: implement accurate window check

2011-05-20 Thread Max Filippov
> > +static void gen_window_check1(DisasContext *dc, unsigned r1) > > +{ > > +if (option_enabled(dc, XTENSA_OPTION_WINDOWED_REGISTER) && > > +r1 / 4 > dc->used_window) { > > +TCGv_i32 pc = tcg_const_i32(dc->pc); > > +TCGv_i32 w = tcg_const_i32(r1 / 4); > > + > > +

Re: [Qemu-devel] [PATCH 24/26] target-xtensa: implement accurate window check

2011-05-20 Thread Richard Henderson
On 05/17/2011 03:32 PM, Max Filippov wrote: > +static void gen_window_check1(DisasContext *dc, unsigned r1) > +{ > +if (option_enabled(dc, XTENSA_OPTION_WINDOWED_REGISTER) && > +r1 / 4 > dc->used_window) { > +TCGv_i32 pc = tcg_const_i32(dc->pc); > +TCGv_i32 w = tcg_c

[Qemu-devel] [PATCH 24/26] target-xtensa: implement accurate window check

2011-05-17 Thread Max Filippov
See ISA, 4.7.1.3 for details. Window check is inserted before commands that push "used register watermark" beyond its current level. Used register watermark is reset on instructions that change WINDOW_BASE/WINDOW_START SRs. Signed-off-by: Max Filippov --- target-xtensa/translate.c | 105 ++