Message ID | 20220315002506.152030-1-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | accel/tcg: Fix cpu_ldq_be_mmu typo | expand |
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 <thuth@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.henderson@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é <f4bug@amsat.org>
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 <thuth@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.henderson@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. For me, the tests/avocado/boot_linux.py:BootLinuxS390X test fails on my x86 laptop as host. Anyway, your patch fixes the issue for me: Tested-by: Thomas Huth <thuth@redhat.com> Thank you very much for the quick fix! Thomas > > 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,
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 <thuth@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.henderson@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, 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
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,
In the conversion to cpu_ld_*_mmu, the retaddr parameter was corrupted in the one case of cpu_ldq_be_mmu. Cc: Thomas Huth <thuth@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.henderson@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(-)