[PATCH v4 0/5] target/sparc: Use explicit big-endian LD/ST API

Philippe Mathieu-Daudé posted 5 patches 3 days, 5 hours ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260203230054.23667-1-philmd@linaro.org
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, Laurent Vivier <laurent@vivier.eu>, Pierrick Bouvier <pierrick.bouvier@linaro.org>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Artyom Tarasenko <atar4qemu@gmail.com>
configs/targets/sparc-linux-user.mak       |  1 +
configs/targets/sparc-softmmu.mak          |  1 +
configs/targets/sparc32plus-linux-user.mak |  1 +
configs/targets/sparc64-linux-user.mak     |  1 +
configs/targets/sparc64-softmmu.mak        |  1 +
include/qemu/int128.h                      | 10 ++++
accel/tcg/cputlb.c                         | 37 +++++++++++---
target/sparc/ldst_helper.c                 | 18 -------
target/sparc/translate.c                   | 58 +++++++++++-----------
tests/unit/test-int128.c                   | 22 ++++++++
10 files changed, 97 insertions(+), 53 deletions(-)
[PATCH v4 0/5] target/sparc: Use explicit big-endian LD/ST API
Posted by Philippe Mathieu-Daudé 3 days, 5 hours ago
v4:
- Centralize sign-extension (clearly out of my comfort zone)
- Remove bswap in LD_code()

SPARC is big-endian. Use the explicit 'big'
endianness instead of the 'native' one.
Forbid further uses of legacy APIs.

Philippe Mathieu-Daudé (5):
  qemu/int128: Add int128_signextend()
  accel/tcg: Have cpu_ld*_mmu() methods consider the MO_SIGN flag
  target/sparc: Remove dubious swapping in LD_code() helper
  target/sparc: Replace MO_TE -> MO_BE
  configs/targets: Forbid SPARC to use legacy native endianness APIs

 configs/targets/sparc-linux-user.mak       |  1 +
 configs/targets/sparc-softmmu.mak          |  1 +
 configs/targets/sparc32plus-linux-user.mak |  1 +
 configs/targets/sparc64-linux-user.mak     |  1 +
 configs/targets/sparc64-softmmu.mak        |  1 +
 include/qemu/int128.h                      | 10 ++++
 accel/tcg/cputlb.c                         | 37 +++++++++++---
 target/sparc/ldst_helper.c                 | 18 -------
 target/sparc/translate.c                   | 58 +++++++++++-----------
 tests/unit/test-int128.c                   | 22 ++++++++
 10 files changed, 97 insertions(+), 53 deletions(-)

-- 
2.52.0