> -----Original Message-----
> From: Richard Henderson <richard.hender...@linaro.org>
> Sent: Tuesday, November 8, 2022 7:41 PM
> To: Taylor Simpson <tsimp...@quicinc.com>; qemu-devel@nongnu.org
> Cc: phi...@linaro.org; a...@rev.ng; a...@rev.ng; Brian Cain
> <bc...@quicinc.com>; Matheus Bernardino (QUIC)
> <quic_mathb...@quicinc.com>
> Subject: Re: [PATCH v4 10/11] Hexagon (target/hexagon) Use direct block
> chaining for direct jump/branch
> 
> >> -----Original Message-----
> >> From: Richard Henderson <richard.hender...@linaro.org>
> >> Sent: Tuesday, November 8, 2022 1:24 AM
> >> To: Taylor Simpson <tsimp...@quicinc.com>; qemu-devel@nongnu.org
> >> Cc: phi...@linaro.org; a...@rev.ng; a...@rev.ng; Brian Cain
> >> <bc...@quicinc.com>; Matheus Bernardino (QUIC)
> >> <quic_mathb...@quicinc.com>
> >> Subject: Re: [PATCH v4 10/11] Hexagon (target/hexagon) Use direct
> >> block chaining for direct jump/branch
> >>
> >> On 11/8/22 15:05, Taylor Simpson wrote:
> >>>    static void hexagon_tr_tb_start(DisasContextBase *db, CPUState
> *cpu)
> >>>    {
> >>> +    DisasContext *ctx = container_of(db, DisasContext, base);
> >>> +    ctx->branch_cond = TCG_COND_NEVER;
> >>>    }
> >>
> >> Typically this would go in hexagon_tr_init_disas_context as well, but
> >> I don't suppose it really matters.
> >
> > AFAICT, these are always called back to back.  So, it's not clear to me what
> the distinction should be.
> 
> ops->tb_start is called after gen_tb_start, so you can emit code that
> ops->comes after the
> interrupt/icount check, but before the first guest instruction.  Rarely 
> needed,
> should probably be allowed to be NULL.

OK, I will move this to init_disas_context.

Thanks,
Taylor

Reply via email to