On 5/3/25 22:28, Pierrick Bouvier wrote:
+++ b/target/arm/tcg/translate-a64.c
@@ -258,7 +258,7 @@ static void gen_address_with_allocation_tag0(TCGv_i64 dst, 
TCGv_i64 src)
  static void gen_probe_access(DisasContext *s, TCGv_i64 ptr,
                               MMUAccessType acc, int log2_size)
  {
-    gen_helper_probe_access(tcg_env, ptr,
+    gen_helper_probe_access(tcg_env, (TCGv_vaddr) ptr,
                              tcg_constant_i32(acc),
                              tcg_constant_i32(get_mem_index(s)),
                              tcg_constant_i32(1 << log2_size));

This cast is incorrect.
You need something akin to tcg_gen_trunc_i64_ptr.

Alternately, do not create TCGv_vaddr as a distinct type,
but simply a #define for either TCGv_{i32,i64}.

In this case, it'll be TCGv_i64 and everything will match.


r~



Reply via email to