On Wed, May 29, 2024 at 2:56 PM Philippe Mathieu-Daudé <phi...@linaro.org> wrote: > > ping?
I originally missed this patch somehow and it has then been fixed separately as part of https://patchew.org/QEMU/20240514023910.301766-1-alistair.fran...@wdc.com/ Alistair > > On 19/4/24 13:05, Philippe Mathieu-Daudé wrote: > > We need to use get_address() to get an address from cpu_gpr[], > > since $zero is "special" (NULL). > > > > Fixes: e05da09b7c ("target/riscv: implement Zicbom extension") > > Reported-by: Zhiwei Jiang (姜智伟) <jian...@tecorigin.com> > > Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> > > --- > > target/riscv/insn_trans/trans_rvzicbo.c.inc | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/target/riscv/insn_trans/trans_rvzicbo.c.inc > > b/target/riscv/insn_trans/trans_rvzicbo.c.inc > > index d5d7095903..6f6b29598d 100644 > > --- a/target/riscv/insn_trans/trans_rvzicbo.c.inc > > +++ b/target/riscv/insn_trans/trans_rvzicbo.c.inc > > @@ -31,27 +31,27 @@ > > static bool trans_cbo_clean(DisasContext *ctx, arg_cbo_clean *a) > > { > > REQUIRE_ZICBOM(ctx); > > - gen_helper_cbo_clean_flush(tcg_env, cpu_gpr[a->rs1]); > > + gen_helper_cbo_clean_flush(tcg_env, get_address(ctx, a->rs1, 0)); > > return true; > > } > > > > static bool trans_cbo_flush(DisasContext *ctx, arg_cbo_flush *a) > > { > > REQUIRE_ZICBOM(ctx); > > - gen_helper_cbo_clean_flush(tcg_env, cpu_gpr[a->rs1]); > > + gen_helper_cbo_clean_flush(tcg_env, get_address(ctx, a->rs1, 0)); > > return true; > > } > > > > static bool trans_cbo_inval(DisasContext *ctx, arg_cbo_inval *a) > > { > > REQUIRE_ZICBOM(ctx); > > - gen_helper_cbo_inval(tcg_env, cpu_gpr[a->rs1]); > > + gen_helper_cbo_inval(tcg_env, get_address(ctx, a->rs1, 0)); > > return true; > > } > > > > static bool trans_cbo_zero(DisasContext *ctx, arg_cbo_zero *a) > > { > > REQUIRE_ZICBOZ(ctx); > > - gen_helper_cbo_zero(tcg_env, cpu_gpr[a->rs1]); > > + gen_helper_cbo_zero(tcg_env, get_address(ctx, a->rs1, 0)); > > return true; > > } > >