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