Since v1:
- Addressed rth review comment (adding new patches)
Get vCPU endianness from CP0::BE bit.
Propagate endianness at the board level, using QOM property.
Remove target-specific endianness knowledge from target/.
Philippe Mathieu-Daudé (16):
target/mips: Declare mips_env_is_bigendian() in 'internal.h'
target/mips: Rename cpu_is_bigendian() -> disas_is_bigendian()
target/mips: Introduce mo_endian_env() helper
target/mips: Replace MO_TE by mo_endian_env() in get_pte()
target/mips: Convert mips16e decr_and_load/store() macros to functions
target/mips: Factor mo_endian_rev() out of MXU code
target/mips: Explode MO_TExx -> MO_TE | MO_xx
target/mips: Rename unused sysemu argument of OP_LD_ATOMIC()
target/mips: Introduce mo_endian() helper
target/mips: Replace MO_TE by mo_endian()
target/mips: Have gen_addiupc() expand $pc during translation
target/mips: Use gen_op_addr_addi() when possible
target/mips: Use tcg_constant_tl() instead of tcg_gen_movi_tl()
target/mips: Expose MIPSCPU::is_big_endian property
hw/mips/cps: Set the vCPU 'cpu-big-endian' property
hw/mips: Have mips_cpu_create_with_clock() take an endianness argument
include/hw/mips/cps.h | 1 +
target/mips/cpu.h | 7 +-
target/mips/internal.h | 10 ++
target/mips/tcg/translate.h | 13 +-
hw/mips/cps.c | 4 +
hw/mips/fuloong2e.c | 2 +-
hw/mips/jazz.c | 2 +-
hw/mips/loongson3_virt.c | 2 +-
hw/mips/malta.c | 5 +-
hw/mips/mipssim.c | 2 +-
target/mips/cpu.c | 17 +-
target/mips/tcg/ldst_helper.c | 15 +-
target/mips/tcg/msa_helper.c | 2 +-
target/mips/tcg/mxu_translate.c | 18 +-
target/mips/tcg/sysemu/tlb_helper.c | 2 +-
target/mips/tcg/translate.c | 193 ++++++++++------------
target/mips/tcg/tx79_translate.c | 8 +-
target/mips/tcg/micromips_translate.c.inc | 34 ++--
target/mips/tcg/mips16e_translate.c.inc | 118 +++++++------
target/mips/tcg/nanomips_translate.c.inc | 150 +++++++----------
20 files changed, 293 insertions(+), 312 deletions(-)
--
2.45.2