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, -- 1.8.3.1