On 2025/12/25 上午12:14, Philippe Mathieu-Daudé wrote:
LoongArch is little-endian. Use the explicit 'little'
endianness instead of the 'native' one.
Remove some target_ulong uses. Forbid further uses of
legacy APIs.

tag: https://gitlab.com/philmd/qemu/-/tags/endian_loongarch-v1
CI: https://gitlab.com/philmd/qemu/-/pipelines/2231223066

Philippe Mathieu-Daudé (8):
   hw/loongarch: Use explicit little-endian LD/ST API
   target/loongarch: Replace target_ulong -> uint64_t for DMW and
     TLBRBADV
   target/loongarch: Use hwaddr type for physical addresses
   target/loongarch: Replace MO_TE -> MO_LE
   target/loongarch: Inline cpu_ldl_code() call in cpu_do_interrupt()
   target/loongarch: Use explicit little-endian LD/ST API
   target/loongarch: Inline translator_ldl()
   configs/targets: Forbid LoongArch to use legacy native endianness APIs

  configs/targets/loongarch64-linux-user.mak    |  1 +
  configs/targets/loongarch64-softmmu.mak       |  1 +
  hw/loongarch/virt.c                           | 18 ++---
  target/loongarch/cpu_helper.c                 | 12 +--
  target/loongarch/tcg/iocsr_helper.c           | 24 +++---
  target/loongarch/tcg/tcg_cpu.c                |  4 +-
  target/loongarch/tcg/tlb_helper.c             | 10 ++-
  target/loongarch/tcg/translate.c              |  3 +-
  .../tcg/insn_trans/trans_atomic.c.inc         | 80 +++++++++----------
  .../tcg/insn_trans/trans_fmemory.c.inc        | 32 ++++----
  .../tcg/insn_trans/trans_memory.c.inc         | 64 +++++++--------
  .../loongarch/tcg/insn_trans/trans_vec.c.inc  | 16 ++--
  12 files changed, 136 insertions(+), 129 deletions(-)

Thanks for doing this on LoongArch, this series looks good to me.

Reviewed-by: Bibo Mao <[email protected]>


Reply via email to