On 15/3/22 01:25, Richard Henderson wrote:
In the conversion to cpu_ld_*_mmu, the retaddr parameter
was corrupted in the one case of cpu_ldq_be_mmu.
Cc: Thomas Huth <th...@redhat.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/902
Fixes: f83bcecb1 ("accel/tcg: Add cpu_{ld,st}*_mmu interfaces")
Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
This really should have affected all big-endian guests regardless
of the host. I have no idea how the referenced test case fails
on s390x and ppc64le hosts, but passes on x86_64 host.
r~
---
accel/tcg/cputlb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
index 3b918fe..2035b2a 100644
--- a/accel/tcg/cputlb.c
+++ b/accel/tcg/cputlb.c
@@ -2174,7 +2174,7 @@ uint32_t cpu_ldl_be_mmu(CPUArchState *env, abi_ptr addr,
uint64_t cpu_ldq_be_mmu(CPUArchState *env, abi_ptr addr,
MemOpIdx oi, uintptr_t ra)
{
- return cpu_load_helper(env, addr, oi, MO_BEUQ, helper_be_ldq_mmu);
+ return cpu_load_helper(env, addr, oi, ra, helper_be_ldq_mmu);
}
uint16_t cpu_ldw_le_mmu(CPUArchState *env, abi_ptr addr,
Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org>