On 15/03/2022 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 <[email protected]>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/902
Fixes: f83bcecb1 ("accel/tcg: Add cpu_{ld,st}*_mmu interfaces")
Signed-off-by: Richard Henderson <[email protected]>
---
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,
CC: to qemu-stable.
The problem apparently also broke some versions of Python, see:
https://bugzilla.redhat.com/show_bug.cgi?id=2080519#c14
So in case we're doing a 6.2.1 release, it would be nice to integrate this
patch there, too.
Thomas