Il ven 9 gen 2026, 17:51 Philippe Mathieu-Daudé <philmd@linaro.org> ha
scritto:
> Missing review: 2, 12, 20
>
> Since v4:
> - No change (RESEND)
>
For subpages, are you leaving for later the switch away from
DEVICE_NATIVE_ENDIAN?
Paolo
Since v3:
> - Assign device_endian enums (Richard)
> - Add/use ldm_p() and stm_p() helpers (Paolo)
>
> Since v2:
> - Changed opt-out to opt-in approach (Pierrick)
> - Split big patches in smaller ones
> - Mark ioport little-endian
>
> Philippe Mathieu-Daudé (22):
> MAINTAINERS: Cover 'system/memory_ldst*.h.inc' files
> util: Introduce ldm_p() and stm_p() load/store helpers
> system/physmem: Inline and remove leul_to_cpu()
> system/physmem: Convert DEBUG_SUBPAGE printf() to trace events
> system/memory: Split MemoryRegionCache API to 'memory_cached.h'
> system/memory: Inline address_space_stq_internal()
> system/memory: Define address_space_ldst[W] endian variants via
> template
> system/memory: Define address_space_ldst[L] endian variants via
> template
> system/memory: Define address_space_ldst[Q] endian variants via
> template
> system/memory: Factor address_space_ldst[M]_internal() helper out
> system/memory: Pass device_endian argument as MemOp bit
> system/memory: Use ldm_p() and stm_p() helpers
> system/memory: Directly call address_space_ldst[M]_internal() helper
> system: Allow restricting the legacy ld/st_phys() 'native-endian' API
> system: Allow restricting legacy address_space_ldst() native-endian
> API
> system: Allow restricting the legacy cpu_ld/st() 'native-endian' API
> system: Allow restricting the legacy translator_ld() 'native-endian'
> API
> system: Allow restricting the legacy tswap() 'native-endian' API
> system: Allow restricting the legacy MO_TE* 'native-endian'
> definitions
> system: Allow restricting the legacy DEVICE_NATIVE_ENDIAN definition
> system/ioport: Declare x86-specific I/O port in little-endian order
> system/ioport: Do not open-code address_space_ld/st_le() methods
>
> MAINTAINERS | 4 +
> include/accel/tcg/cpu-ldst.h | 2 +
> include/exec/memop.h | 4 +
> include/exec/translator.h | 5 +-
> include/exec/tswap.h | 3 +
> include/hw/virtio/virtio-access.h | 1 +
> include/qemu/bswap.h | 11 -
> include/qemu/ldst_unaligned.h | 25 ++
> include/system/memory.h | 193 +-------
> include/system/memory_cached.h | 212 +++++++++
> system/memory-internal.h | 2 +
> include/system/memory_ldst.h.inc | 52 +--
> include/system/memory_ldst_endian.h.inc | 33 ++
> include/system/memory_ldst_phys.h.inc | 113 +----
> include/system/memory_ldst_phys_endian.h.inc | 57 +++
> system/ioport.c | 34 +-
> system/physmem.c | 35 +-
> tests/qtest/endianness-test.c | 10 +-
> tests/qtest/libqtest.c | 13 +-
> util/ldst.c | 69 +++
> system/memory_ldst.c.inc | 449 ++-----------------
> system/memory_ldst_endian.c.inc | 70 +++
> scripts/make-config-poison.sh | 1 +
> system/trace-events | 6 +
> util/meson.build | 1 +
> 25 files changed, 599 insertions(+), 806 deletions(-)
> create mode 100644 include/system/memory_cached.h
> create mode 100644 include/system/memory_ldst_endian.h.inc
> create mode 100644 include/system/memory_ldst_phys_endian.h.inc
> create mode 100644 util/ldst.c
> create mode 100644 system/memory_ldst_endian.c.inc
>
> --
> 2.52.0
>
>