Re: [PATCH] target/riscv: Use get_address() to get address with Zicbom extensions
On 4/6/24 02:20, Alistair Francis wrote: On Wed, May 29, 2024 at 2:56 PM Philippe Mathieu-Daudé 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/ I see (I also missed your one myself). Maybe add the Fixes/Reported-by tags in yours? 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 (姜智伟) Signed-off-by: Philippe Mathieu-Daudé --- target/riscv/insn_trans/trans_rvzicbo.c.inc | 8 1 file changed, 4 insertions(+), 4 deletions(-)
Re: [PATCH] target/riscv: Use get_address() to get address with Zicbom extensions
On Wed, May 29, 2024 at 2:56 PM Philippe Mathieu-Daudé 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 (姜智伟) > > Signed-off-by: Philippe Mathieu-Daudé > > --- > > 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; > > } > >
Re: [PATCH] target/riscv: Use get_address() to get address with Zicbom extensions
ping? 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 (姜智伟) Signed-off-by: Philippe Mathieu-Daudé --- 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; }
Re: [PATCH] target/riscv: Use get_address() to get address with Zicbom extensions
On 4/19/24 08: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 (姜智伟) Signed-off-by: Philippe Mathieu-Daudé --- Reviewed-by: Daniel Henrique Barboza 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; }
Re: [PATCH] target/riscv: Use get_address() to get address with Zicbom extensions
On 4/19/24 04: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 (姜智伟) Signed-off-by: Philippe Mathieu-Daudé --- target/riscv/insn_trans/trans_rvzicbo.c.inc | 8 1 file changed, 4 insertions(+), 4 deletions(-) Reviewed-by: Richard Henderson r~
Re: [PATCH] target/riscv: Use get_address() to get address with Zicbom extensions
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). Cc: qemu-sta...@nongnu.org Fixes: e05da09b7c ("target/riscv: implement Zicbom extension") Reported-by: Zhiwei Jiang (姜智伟) Signed-off-by: Philippe Mathieu-Daudé --- target/riscv/insn_trans/trans_rvzicbo.c.inc | 8 1 file changed, 4 insertions(+), 4 deletions(-)
[PATCH] target/riscv: Use get_address() to get address with Zicbom extensions
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 (姜智伟) Signed-off-by: Philippe Mathieu-Daudé --- 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; } -- 2.41.0