Re: [Qemu-devel] [PATCH 20/26] target-xtensa: implement extended L32R

2011-05-20 Thread Richard Henderson
On 05/20/2011 12:14 AM, Max Filippov wrote: > As far as I can see LITBASE usage pattern is that it is set up once > in early initialization and is never changed after. That's probably true on a per-program basis. I.e. for semi-hosting or userland emulation, hard-coding litbase into the TB could m

Re: [Qemu-devel] [PATCH 20/26] target-xtensa: implement extended L32R

2011-05-20 Thread Max Filippov
> > +static void gen_wsr_litbase(DisasContext *dc, uint32_t sr, TCGv_i32 s) > > +{ > > +tcg_gen_mov_i32(cpu_SR[sr], s); > > +/* This can change tb->flags, so exit tb */ > > +gen_jumpi_check_loop_end(dc, -1); > > +} > > Surely you have to flush all TB's when changing litbase? > > > +

Re: [Qemu-devel] [PATCH 20/26] target-xtensa: implement extended L32R

2011-05-19 Thread Richard Henderson
On 05/17/2011 03:32 PM, Max Filippov wrote: > +static void gen_wsr_litbase(DisasContext *dc, uint32_t sr, TCGv_i32 s) > +{ > +tcg_gen_mov_i32(cpu_SR[sr], s); > +/* This can change tb->flags, so exit tb */ > +gen_jumpi_check_loop_end(dc, -1); > +} Surely you have to flush all TB's when

[Qemu-devel] [PATCH 20/26] target-xtensa: implement extended L32R

2011-05-17 Thread Max Filippov
See ISA, 4.3.3 for details. TB flag XTENSA_TBFLAG_LITBASE is used to track enable bit of LITBASE SR. Signed-off-by: Max Filippov --- RFC -> PATCH changes: - add XTENSA_TBFLAG_LITBASE, use it in L32R; --- target-xtensa/cpu.h |6 ++ target-xtensa/helper.c|1 + target-xtensa/