Since v2:
- Changed opt-out to opt-in approach (Pierrick)
- Split big patches in smaller ones
- Mark ioport little-endian

tag: https://gitlab.com/philmd/qemu/-/tags/sysmem_ldst_endian-v3
CI: https://gitlab.com/philmd/qemu/-/pipelines/2231223066

Philippe Mathieu-Daudé (25):
  system/physmem: Inline and remove leul_to_cpu()
  system/physmem: Convert DEBUG_SUBPAGE printf() to trace events
  system/physmem: Use explicit endianness in subpage_ops::read/write()
  system/memory: Split MemoryRegionCache API to 'memory_cached.h'
  system/memory: Move *ldst* headers from exec/ to system/ namespace
  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: Directly call address_space_ldst[M]_internal() helper
  system/memory: Introduce LD/ST helpers with @n suffix (variable size)
  system/memory: Use explicit endianness in ram_device::read/write()
  system: Allow restricting the legacy ld/st_phys() 'native-endian' API
  system: Allow restricting the legacy ld/st_he() '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
  tests/qtest: Remove unnecessary 'qemu/bswap.h' include
  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 +
 docs/devel/loads-stores.rst                   |  10 +-
 include/accel/tcg/cpu-ldst.h                  |   2 +
 include/exec/cpu-common.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                          |  16 +-
 include/system/memory.h                       | 189 +-------
 include/system/memory_cached.h                | 209 ++++++++
 system/memory-internal.h                      |   2 +
 tests/qtest/pnv-xive2-common.h                |   1 -
 include/exec/memory_ldst.h.inc                |  65 ---
 include/exec/memory_ldst_phys.h.inc           | 144 ------
 include/system/memory_ldst.h.inc              |  41 ++
 .../{exec => system}/memory_ldst_cached.h.inc |   0
 include/system/memory_ldst_endian.h.inc       |  37 ++
 include/system/memory_ldst_phys.h.inc         |  47 ++
 include/system/memory_ldst_phys_endian.h.inc  |  57 +++
 system/ioport.c                               |  34 +-
 system/memory.c                               |  68 ++-
 system/physmem.c                              | 111 +++--
 tests/qtest/aspeed_smc-test.c                 |   1 -
 tests/qtest/ast2700-smc-test.c                |   1 -
 tests/qtest/endianness-test.c                 |  10 +-
 tests/qtest/libqos/fw_cfg.c                   |   1 -
 tests/qtest/libqos/i2c-omap.c                 |   1 -
 tests/qtest/libqtest.c                        |  13 +-
 tests/qtest/pnv-spi-seeprom-test.c            |   1 -
 tests/qtest/vmcoreinfo-test.c                 |   1 -
 system/memory_ldst.c.inc                      | 449 ++----------------
 system/memory_ldst_endian.c.inc               |  84 ++++
 scripts/make-config-poison.sh                 |   1 +
 system/trace-events                           |   6 +
 35 files changed, 708 insertions(+), 913 deletions(-)
 create mode 100644 include/system/memory_cached.h
 delete mode 100644 include/exec/memory_ldst.h.inc
 delete mode 100644 include/exec/memory_ldst_phys.h.inc
 create mode 100644 include/system/memory_ldst.h.inc
 rename include/{exec => system}/memory_ldst_cached.h.inc (100%)
 create mode 100644 include/system/memory_ldst_endian.h.inc
 create mode 100644 include/system/memory_ldst_phys.h.inc
 create mode 100644 include/system/memory_ldst_phys_endian.h.inc
 create mode 100644 system/memory_ldst_endian.c.inc

-- 
2.52.0


Reply via email to