在2024年9月30日九月 上午10:10,Philippe Mathieu-Daudé写道:
> Get vCPU endianness from CP0::BE bit.
> Propagate endianness at the board level, using QOM property.
> Remove target-specific endianness knowledge from target/.
For the series:
Reviewed-by: Jiaxun Yang <jiaxun.y...@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.y...@flygoat.com>
Will this lead us to bi-endian QEMU executable?
Thanks
- Jiaxun
>
> Philippe Mathieu-Daudé (12):
> target/mips: Declare cpu_is_bigendian_env() in 'internal.h'
> 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: Introduce mo_endian() helper
> target/mips: Explode MO_TExx -> MO_TE | MO_xx
> target/mips: Replace MO_TE by mo_endian()
> 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
> target/mips: Remove target-specific code in mips_cpu_reset_hold()
> hw/mips/malta: Remove TARGET_BIG_ENDIAN #ifdef'ry
>
> include/hw/mips/cps.h | 1 +
> target/mips/cpu.h | 7 +-
> target/mips/internal.h | 11 ++
> target/mips/tcg/translate.h | 5 +
> 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 | 9 +-
> 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 | 120 +++++++++++-----------
> target/mips/tcg/tx79_translate.c | 8 +-
> target/mips/tcg/micromips_translate.c.inc | 22 ++--
> target/mips/tcg/mips16e_translate.c.inc | 109 ++++++++++----------
> target/mips/tcg/nanomips_translate.c.inc | 32 +++---
> 20 files changed, 212 insertions(+), 178 deletions(-)
>
> --
> 2.45.2
--
- Jiaxun