mbox series

[00/12] target/mips: Remove target-specific endianness knowledge

Message ID 20240930091101.40591-1-philmd@linaro.org
Headers show
Series target/mips: Remove target-specific endianness knowledge | expand

Message

Philippe Mathieu-Daudé Sept. 30, 2024, 9:10 a.m. UTC
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é (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(-)

Comments

Jiaxun Yang Sept. 30, 2024, 12:25 p.m. UTC | #1
在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.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@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