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


Reply via email to