On 6/23/23 19:25, Peter Maydell wrote:
When we generate code for guest loads and stores, at the moment they
end up being requests for a host-endian access. So for target-system-nios2
(little endian) a load like
    ldw        r3,0(r4)
results on an x86 host in the TCG IR
    qemu_ld_a32_i32 r3,loc2,al+leul,0
but on s390 it is
    qemu_ld_a32_i32 r3,loc2,al+beul,0

The result is that guests don't work on big-endian hosts.

Use the MO_TE* memops rather than the plain ones.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1693
Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
---
Presumably this got lost in a recent conversion somewhere,
but I can't figure out where, so maybe it's been broken much
longer...

It has been broken since initial commit: 032c76bc6f9 was already wrong.

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>


r~

Reply via email to