qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC v2 31/38] target/xtensa: fetch code with translato


From: Max Filippov
Subject: Re: [Qemu-devel] [RFC v2 31/38] target/xtensa: fetch code with translator_ld
Date: Sun, 3 Mar 2019 18:36:42 -0800

On Mon, Feb 25, 2019 at 6:55 AM Alex Bennée <address@hidden> wrote:
> Emilio G. Cota <address@hidden> writes:
> > Signed-off-by: Emilio G. Cota <address@hidden>
> > ---
> >  target/xtensa/translate.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
> > index 46e1338448..c140742562 100644
> > --- a/target/xtensa/translate.c
> > +++ b/target/xtensa/translate.c
> > @@ -882,7 +882,7 @@ static inline unsigned xtensa_op0_insn_len(DisasContext 
> > *dc, uint8_t op0)
> >  static void disas_xtensa_insn(CPUXtensaState *env, DisasContext *dc)
> >  {
> >      xtensa_isa isa = dc->config->isa;
> > -    unsigned char b[MAX_INSN_LENGTH] = {cpu_ldub_code(env, dc->pc)};
> > +    unsigned char b[MAX_INSN_LENGTH] = {translator_ldub(env, dc->pc)};
> >      unsigned len = xtensa_op0_insn_len(dc, b[0]);
> >      xtensa_format fmt;
> >      int slot, slots;
> > @@ -914,7 +914,7 @@ static void disas_xtensa_insn(CPUXtensaState *env, 
> > DisasContext *dc)
> >                        dc->pc);
> >      }
> >      for (i = 1; i < len; ++i) {
> > -        b[i] = cpu_ldub_code(env, dc->pc + i);
> > +        b[i] = translator_ldub(env, dc->pc + i);
> >      }
> >      xtensa_insnbuf_from_chars(isa, dc->insnbuf, b, len);
> >      fmt = xtensa_format_decode(isa, dc->insnbuf);
>
> There is also:
>
>   static inline unsigned xtensa_insn_len(CPUXtensaState *env, DisasContext 
> *dc)
>   {
>       uint8_t b0 = cpu_ldub_code(env, dc->pc);
>       return xtensa_op0_insn_len(dc, b0);
>   }
>
> Or is this usage a re-read of something we've already got?

FWIW xtensa_insn_len is used to look into the instruction that
follows the one that has just been translated, but it may only
touch the same page as the last translated instruction.

-- 
Thanks.
-- Max



reply via email to

[Prev in Thread] Current Thread [Next in Thread]