Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 6af7da930a1811c93635c070415e22ddb967d446
      
https://github.com/qemu/qemu/commit/6af7da930a1811c93635c070415e22ddb967d446
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Cover 'system/memory_ldst*.h.inc' files

Missed in commit c611228c0ed ("include: move memory_ldst*
to include/system").

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: c8c395542482a3c05c2217314f41acc70f753772
      
https://github.com/qemu/qemu/commit/c8c395542482a3c05c2217314f41acc70f753772
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M docs/devel/loads-stores.rst

  Log Message:
  -----------
  docs/devel/loads-stores: Fix ld/stn_*_p() regexp

Fixes: afa4f6653dc ("bswap: Add stn_*_p() and ldn_*_p() functions")
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: f44866719f6e1d25d5dc853e4737c1cb945ef4e7
      
https://github.com/qemu/qemu/commit/f44866719f6e1d25d5dc853e4737c1cb945ef4e7
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M include/qemu/host-utils.h
    M include/qemu/int128.h

  Log Message:
  -----------
  bswap: Consistently use builtin bswap() functions

Since these headers use some __builtin_bswap*(), use it
consistently in all the cases, allowing to remove the
"qemu/bswap.h" inclusion (which only defines bswap* to
the builtin equivalent).

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 8afde4364dac1eeb5d0fe291f625af4f907921ae
      
https://github.com/qemu/qemu/commit/8afde4364dac1eeb5d0fe291f625af4f907921ae
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M tests/qtest/aspeed_smc-test.c
    M tests/qtest/ast2700-smc-test.c
    M tests/qtest/libqos/fw_cfg.c
    M tests/qtest/libqos/i2c-omap.c
    M tests/qtest/pnv-spi-seeprom-test.c
    M tests/qtest/pnv-xive2-common.h

  Log Message:
  -----------
  tests/qtest: Remove unnecessary 'qemu/bswap.h' include

None of these files use API declared in "qemu/bswap.h",
remove the unnecessary inclusion.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Cédric Le Goater <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 31ec6109920dcf9b3f440a18b7dffb3df39ac58f
      
https://github.com/qemu/qemu/commit/31ec6109920dcf9b3f440a18b7dffb3df39ac58f
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M include/qemu/bswap.h
    M system/physmem.c

  Log Message:
  -----------
  system/physmem: Inline and remove leul_to_cpu()

leul_to_cpu() is only used within physmem.c: inline it
and remove.
Since @bitmap is of 'unsigned long' type, use its size
with ldn_le_p() instead of using HOST_LONG_BITS.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: f0d1d7f3794a127ee2b2e77e2da5bd28e12708b9
      
https://github.com/qemu/qemu/commit/f0d1d7f3794a127ee2b2e77e2da5bd28e12708b9
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M system/physmem.c
    M system/trace-events

  Log Message:
  -----------
  system/physmem: Convert DEBUG_SUBPAGE printf() to trace events

Defining DEBUG_SUBPAGE allows to use raw printf() statements to
print information about some events; convert these to tracepoints.

Suggested-by: Richard Henderson <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 00531d0567353985c39f074518d43aaa32258575
      
https://github.com/qemu/qemu/commit/00531d0567353985c39f074518d43aaa32258575
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M MAINTAINERS
    M include/hw/virtio/virtio-access.h
    M include/system/memory.h
    A include/system/memory_cached.h
    M system/physmem.c

  Log Message:
  -----------
  system/memory: Split MemoryRegionCache API to 'memory_cached.h'

We have 115 direct inclusions of "system/memory.h", and 91 headers
in include/ use it: hundreds of files have to process it.
However only one single header really uses the MemoryRegionCache
API: "hw/virtio/virtio-access.h". Split it out to a new header,
avoiding processing unused inlined functions hundreds of times.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: d78e91a31195802e806d650ea88724a41360de1c
      
https://github.com/qemu/qemu/commit/d78e91a31195802e806d650ea88724a41360de1c
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M system/memory_ldst.c.inc

  Log Message:
  -----------
  system/memory: Inline address_space_stq_internal()

As its name suggests, address_space_stq_internal() is an
internal method which can be inlined like all the other
ones in this file.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 35ddb78b65802a9ea0166ea494b829529fadbbf4
      
https://github.com/qemu/qemu/commit/35ddb78b65802a9ea0166ea494b829529fadbbf4
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M system/ioport.c
    M tests/qtest/endianness-test.c
    M tests/qtest/libqtest.c

  Log Message:
  -----------
  system/ioport: Declare x86-specific I/O port in little-endian order

X86 in/out port (related to ISA bus) uses little endianness:
- enforce little endianness in x86 cpu_in/out() accessors,
- serialize QTest in/out port accesses as little-endian.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Fabiano Rosas <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 5a17a542ac898df2d0797ea9247a4f795917aea3
      
https://github.com/qemu/qemu/commit/5a17a542ac898df2d0797ea9247a4f795917aea3
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M system/ioport.c

  Log Message:
  -----------
  system/ioport: Do not open-code address_space_ld/st_le() methods

When a variable size is known, prefer the address_space_ld/st()
API. Keep address_space_read/write() for blobs.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 83d5db95d3890cdc600901ae3d5d1c9c72dedfcb
      
https://github.com/qemu/qemu/commit/83d5db95d3890cdc600901ae3d5d1c9c72dedfcb
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson: Allow system binaries to not have target-specific units

As we are moving toward a single binary, targets might end
without any target-specific objects (all objects being in
the 'common' source set). Allow this by checking the
target_system_arch[] dictionary contains the target key
before using it.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Message-ID: <[email protected]>


  Commit: bd595bfa2d411f2e610391d166917812fb7e41e3
      
https://github.com/qemu/qemu/commit/bd595bfa2d411f2e610391d166917812fb7e41e3
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M hw/alpha/dp264.c
    M hw/alpha/typhoon.c

  Log Message:
  -----------
  hw/alpha: Use explicit little-endian LD/ST API

The Alpha architecture uses little endianness. Directly
use the little-endian LD/ST API.

Mechanical change running:

  $ for a in uw w l q; do \
      sed -i -e "s/ld${a}_p(/ld${a}_le_p(/" \
        $(git grep -wlE '(ld|st)u?[wlq]_p' hw/alpha/);
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 076bcbd7e24f3f324d8e6090556fa09bf48936c5
      
https://github.com/qemu/qemu/commit/076bcbd7e24f3f324d8e6090556fa09bf48936c5
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/alpha/mem_helper.c

  Log Message:
  -----------
  target/alpha: Inline cpu_ldl_code() call in do_unaligned_access()

In preparation of removing the cpu_ldl_code wrapper, inline it.
Use the return address argument.

Since Alpha instructions are always stored in little-endian
order, replace MO_TE -> MO_LE.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 62e8edfe1b5b9824a93500265562a9d6dde83fd6
      
https://github.com/qemu/qemu/commit/62e8edfe1b5b9824a93500265562a9d6dde83fd6
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/alpha/translate.c

  Log Message:
  -----------
  target/alpha: Inline translator_ldl()

translator_ldl() is defined in "exec/translator.h" as:

  198 static inline uint32_t
  199 translator_ldl(CPUArchState *env, DisasContextBase *db, vaddr pc)
  200 {
  201     return translator_ldl_end(env, db, pc, MO_TE);
  202 }

Directly use the inlined form.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: f5fa259b502ac6fc4412ca4e762c5aa33bbddc79
      
https://github.com/qemu/qemu/commit/f5fa259b502ac6fc4412ca4e762c5aa33bbddc79
  Author: Anton Johansson <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M linux-user/alpha/target_proc.h

  Log Message:
  -----------
  target/alpha: Introduce alpha_phys_addr_space_bits()

In preparation for dropping TARGET_PHYS_ADDR_SPACE_BITS, add a
a runtime function to correctly represent the size of the physical
address space for EV4-6 based on the current CPU version.

Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Anton Johansson <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>


  Commit: 8d9a3353bca59602ede113abc2a370ade37c149c
      
https://github.com/qemu/qemu/commit/8d9a3353bca59602ede113abc2a370ade37c149c
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/avr/translate.c

  Log Message:
  -----------
  target/avr: Inline translator_lduw()

translator_lduw() is defined in "exec/translator.h" as:

 192 static inline uint16_t
 193 translator_lduw(CPUArchState *env, DisasContextBase *db, vaddr pc)
 194 {
 195     return translator_lduw_end(env, db, pc, MO_TE);
 196 }

Directly use the inlined form, expanding MO_TE -> MO_LE
since AVR only exists in little-endian.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Message-ID: <[email protected]>


  Commit: 989b25c73b793959127b7578cca6dc49c840c5cd
      
https://github.com/qemu/qemu/commit/989b25c73b793959127b7578cca6dc49c840c5cd
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/hexagon/translate.c

  Log Message:
  -----------
  target/hexagon: Inline translator_ldl()

translator_ldl() is defined in "exec/translator.h" as:

  198 static inline uint32_t
  199 translator_ldl(CPUArchState *env, DisasContextBase *db, vaddr pc)
  200 {
  201     return translator_ldl_end(env, db, pc, MO_TE);
  202 }

Directly use the inlined form, expanding MO_TE -> MO_LE
since Hexagon use little-endian order.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Message-ID: <[email protected]>


  Commit: dffb3938aa4ced8c967c63175a788facf664a3a2
      
https://github.com/qemu/qemu/commit/dffb3938aa4ced8c967c63175a788facf664a3a2
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/hexagon/macros.h
    M target/hexagon/op_helper.c

  Log Message:
  -----------
  target/hexagon: Use little-endian variant of cpu_ld/st_data*()

We only build the Hexagon target using little endianness order,
therefore the cpu_ld/st_data*() definitions expand to the little
endian declarations. Use the explicit little-endian variants.

Mechanical change running:

  $ tgt=hexagon; \
    end=le; \
    for op in data mmuidx_ra; do \
      for ac in uw sw l q; do \
        sed -i -e "s/cpu_ld${ac}_${op}/cpu_ld${ac}_${end}_${op}/" \
                  $(git grep -l cpu_ target/${tgt}/); \
      done;
      for ac in w l q; do \
        sed -i -e "s/cpu_st${ac}_${op}/cpu_st${ac}_${end}_${op}/" \
                  $(git grep -l cpu_ target/${tgt}/); \
      done;
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Brian Cain <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: c77d0e9009362fe9f4784f8df31d52f377350dbf
      
https://github.com/qemu/qemu/commit/c77d0e9009362fe9f4784f8df31d52f377350dbf
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/hppa/op_helper.c

  Log Message:
  -----------
  target/hppa: Use big-endian variant of cpu_ld/st_data*()

We only build the HPPA target using big endianness order,
therefore the cpu_ld/st_data*() definitions expand to the big
endian declarations. Use the explicit big-endian variants.

Mechanical change running:

  $ tgt=hppa; \
    end=be; \
    for op in data mmuidx_ra; do \
      for ac in uw sw l q; do \
        sed -i -e "s/cpu_ld${ac}_${op}/cpu_ld${ac}_${end}_${op}/" \
                  $(git grep -l cpu_ target/${tgt}/); \
      done;
      for ac in w l q; do \
        sed -i -e "s/cpu_st${ac}_${op}/cpu_st${ac}_${end}_${op}/" \
                  $(git grep -l cpu_ target/${tgt}/); \
      done;
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: c53afb5ed5cfeff1211c255f86f38d87e3a5d5fc
      
https://github.com/qemu/qemu/commit/c53afb5ed5cfeff1211c255f86f38d87e3a5d5fc
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/hppa/gdbstub.c

  Log Message:
  -----------
  target/hppa: Remove unnecessary @cpu variable by using cpu_env()

Partly revert changes introduced by commit b2c2d00f48c ("target/hppa:
add 64 bit support to gdbstub"), restoring the cpu_env() call and
removing the unused @cpu argument.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 75498b3f7b921fe70f0072d1b157fc1ea8367432
      
https://github.com/qemu/qemu/commit/75498b3f7b921fe70f0072d1b157fc1ea8367432
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/hppa/gdbstub.c
    M target/hppa/int_helper.c

  Log Message:
  -----------
  target/hppa: Use explicit big-endian LD/ST API

The HPPA architecture uses big endianness. Directly use
the big-endian LD/ST API.

Mechanical change using:

  $ end=be; \
    for acc in uw w l q tul; do \
      sed -i -e "s/ld${acc}_p(/ld${acc}_${end}_p(/" \
             -e "s/st${acc}_p(/st${acc}_${end}_p(/" \
        $(git grep -wlE '(ld|st)t?u?[wlq]_p' target/hppa/); \
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: bcf5e5d3e33f0123daaff077dd1dfb5f7bb4e41b
      
https://github.com/qemu/qemu/commit/bcf5e5d3e33f0123daaff077dd1dfb5f7bb4e41b
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/hppa/translate.c

  Log Message:
  -----------
  target/hppa: Inline translator_ldl()

translator_ldl() is defined in "exec/translator.h" as:

  198 static inline uint32_t
  199 translator_ldl(CPUArchState *env, DisasContextBase *db, vaddr pc)
  200 {
  201     return translator_ldl_end(env, db, pc, MO_TE);
  202 }

Directly use the inlined form, expanding MO_TE -> mo_endian().

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 253b483940d910cb30084aa38144faf2cec9733f
      
https://github.com/qemu/qemu/commit/253b483940d910cb30084aa38144faf2cec9733f
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/hppa/machine.c

  Log Message:
  -----------
  target/hppa: Avoid target-specific migration headers in machine.c

machine.c doesn't use any target-specific macro defined by
the "migration/cpu.h" header. Use the minimum header required:
"migration/qemu-file-types.h" and "migration/vmstate.h", which
are not target-specific.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Prasad Pandit <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 10a860dd5db64a11968f7766aa2e524e8003a234
      
https://github.com/qemu/qemu/commit/10a860dd5db64a11968f7766aa2e524e8003a234
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/hppa/translate.c

  Log Message:
  -----------
  target/hppa: Remove target_ulong use in disas_log() handler

Since commit 85c19af63e7 ("include/exec: Use vaddr in DisasContextBase
virtual addresses") the DisasContextBase::pc_first field is a vaddr
type.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 2d3c00965a482d89fc4f0af70e5012a768680e31
      
https://github.com/qemu/qemu/commit/2d3c00965a482d89fc4f0af70e5012a768680e31
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M hw/loongarch/virt.c

  Log Message:
  -----------
  hw/loongarch: Use explicit little-endian LD/ST API

The LoongArch architecture uses little endianness. Directly
use the little-endian LD/ST API.

Mechanical change using:

  $ end=le; \
    for acc in uw w l q tul; do \
      sed -i -e "s/ld${acc}_p(/ld${acc}_${end}_p(/" \
             -e "s/st${acc}_p(/st${acc}_${end}_p(/" \
        $(git grep -wlE '(ld|st)t?u?[wlq]_p' hw/loongarch/); \
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Message-ID: <[email protected]>


  Commit: 99d8a33fe686c6e3b0739da94e98bcb2c2ed4074
      
https://github.com/qemu/qemu/commit/99d8a33fe686c6e3b0739da94e98bcb2c2ed4074
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/loongarch/cpu_helper.c
    M target/loongarch/tcg/tlb_helper.c

  Log Message:
  -----------
  target/loongarch: Replace target_ulong -> uint64_t for DMW and TLBRBADV

The Direct Mapping Configuration Window and Bad Virtual
Address CSR registers are declared as uint64_t since their
introduction in commit 398cecb9c3e ("target/loongarch: Add
CSRs definition"):

 296 typedef struct CPUArchState {
 ...
 345     uint64_t CSR_TLBRBADV;
 ...
 359     uint64_t CSR_DMW[4];
 ...
 385 } CPULoongArchState;

Use the proper uint64_t type instead of target_ulong
(which would otherwise be truncated on 32-bit builds).

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Message-Id: <[email protected]>


  Commit: dfb8034a9a330fea901af54f4d7bf3167a2abfbd
      
https://github.com/qemu/qemu/commit/dfb8034a9a330fea901af54f4d7bf3167a2abfbd
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/loongarch/cpu_helper.c
    M target/loongarch/tcg/tlb_helper.c

  Log Message:
  -----------
  target/loongarch: Use hwaddr type for physical addresses

Replace variables used with get_physical_address(), which
expect a physical addresses, by the 'hwaddr' type, instead
of the 'target_ulong' one.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Message-ID: <[email protected]>


  Commit: 492b2799c647c048ce2757513404037436294bd9
      
https://github.com/qemu/qemu/commit/492b2799c647c048ce2757513404037436294bd9
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/loongarch/tcg/insn_trans/trans_atomic.c.inc
    M target/loongarch/tcg/insn_trans/trans_fmemory.c.inc
    M target/loongarch/tcg/insn_trans/trans_memory.c.inc
    M target/loongarch/tcg/insn_trans/trans_vec.c.inc

  Log Message:
  -----------
  target/loongarch: Replace MO_TE -> MO_LE

We only build the LoongArch target using little endianness
order, therefore the MO_TE definitions expand to the little
endian one. Use the latter which is more explicit.

Mechanical change running:

  $ sed -i -e s/MO_TE/MO_LE/ \
        $(git grep -wl MO_TE target/loongarch/)

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Message-ID: <[email protected]>


  Commit: 91312a6d046d10506f6326168ea275a9b765cdba
      
https://github.com/qemu/qemu/commit/91312a6d046d10506f6326168ea275a9b765cdba
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/loongarch/tcg/tcg_cpu.c

  Log Message:
  -----------
  target/loongarch: Inline cpu_ldl_code() call in cpu_do_interrupt()

In preparation of removing the cpu_ldl_code wrapper, inline it.

Since LoongArch instructions are always stored in little-endian
order, replace MO_TE -> MO_LE.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Message-Id: <[email protected]>


  Commit: f9a03787c7fea997a5aa0641a5c16c7b15e21a2a
      
https://github.com/qemu/qemu/commit/f9a03787c7fea997a5aa0641a5c16c7b15e21a2a
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/loongarch/cpu_helper.c
    M target/loongarch/tcg/iocsr_helper.c
    M target/loongarch/tcg/tlb_helper.c

  Log Message:
  -----------
  target/loongarch: Use explicit little-endian LD/ST API

The LoongArch architecture uses little endianness. Directly
use the little-endian LD/ST API.

Mechanical change using:

  $ end=le; \
    for acc in uw w l q tul; do \
      sed -i -e "s/ld${acc}_p(/ld${acc}_${end}_p(/" \
             -e "s/st${acc}_p(/st${acc}_${end}_p(/" \
        $(git grep -wlE '(ld|st)t?u?[wlq]_p' target/loongarch/); \
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Message-ID: <[email protected]>


  Commit: 6b4c30465c0372c042b20b5f16f76f87e15118a5
      
https://github.com/qemu/qemu/commit/6b4c30465c0372c042b20b5f16f76f87e15118a5
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/loongarch/tcg/translate.c

  Log Message:
  -----------
  target/loongarch: Inline translator_ldl()

translator_ldl() is defined in "exec/translator.h" as:

  198 static inline uint32_t
  199 translator_ldl(CPUArchState *env, DisasContextBase *db, vaddr pc)
  200 {
  201     return translator_ldl_end(env, db, pc, MO_TE);
  202 }

Directly use the inlined form, expanding MO_TE -> MO_LE
since LoongArch use little-endian order.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Message-ID: <[email protected]>


  Commit: 10c5799fac4d90479f8b6211a60aa7940ec14c6e
      
https://github.com/qemu/qemu/commit/10c5799fac4d90479f8b6211a60aa7940ec14c6e
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/m68k/monitor.c

  Log Message:
  -----------
  target/m68k: Replace MD_TLONG -> MD_I32 in monitor.c

m68k's monitor_defs[] array implicitly uses type=MD_TLONG for
all its entries. Since we only build this target as 32-bit,
use the explicit MD_I32 type to avoid an indirect target_long
use.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 9281c68deca37a1bec053b3cb8b9a7b9c18a9e65
      
https://github.com/qemu/qemu/commit/9281c68deca37a1bec053b3cb8b9a7b9c18a9e65
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/microblaze/translate.c

  Log Message:
  -----------
  target/microblaze: Directly check endianness via CPUConfig::endi flag

The MicroBlazeCPUConfig::endi flag reports whether the CPU is
configure in little endianness. Directly use this knowledge
instead of evaluating MemOp from mo_endian().

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Message-ID: <[email protected]>


  Commit: f2cd7f507e21ad0a4c89fed67def244d76b015c7
      
https://github.com/qemu/qemu/commit/f2cd7f507e21ad0a4c89fed67def244d76b015c7
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/microblaze/machine.c

  Log Message:
  -----------
  target/microblaze: Avoid target-specific migration headers in machine.c

machine.c doesn't use any target-specific macro defined by
the "migration/cpu.h" header. Use the minimum header requiered:
"migration/qemu-file-types.h" and "migration/vmstate.h", which
are not target-specific.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Message-ID: <[email protected]>


  Commit: 195060d9c82802f7d56d5ec990a9007bd0f36a07
      
https://github.com/qemu/qemu/commit/195060d9c82802f7d56d5ec990a9007bd0f36a07
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/microblaze/meson.build

  Log Message:
  -----------
  target/microblaze: Build system files once

Previous commit removed the last target-specific use in
system units, we can now build them once.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Message-ID: <[email protected]>


  Commit: 1346a811234ea51a6399a139f5c92b777e89d071
      
https://github.com/qemu/qemu/commit/1346a811234ea51a6399a139f5c92b777e89d071
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M hw/microblaze/petalogix_s3adsp1800_mmu.c

  Log Message:
  -----------
  hw/microblaze: Replace TARGET_BIG_ENDIAN -> target_big_endian()

Check endianness at runtime to remove the target-specific
TARGET_BIG_ENDIAN definition.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Message-ID: <[email protected]>


  Commit: a1ced4875492eb7f4c1622570533d2b8619eabf6
      
https://github.com/qemu/qemu/commit/a1ced4875492eb7f4c1622570533d2b8619eabf6
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M hw/microblaze/meson.build

  Log Message:
  -----------
  hw/microblaze: Build files once

Previous commit removed the last target-specific use in
hw model units, we can now build them once.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Message-ID: <[email protected]>


  Commit: 32d425683922f97445d10c048a756e67b954f1b1
      
https://github.com/qemu/qemu/commit/32d425683922f97445d10c048a756e67b954f1b1
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M hw/intc/ompic.c

  Log Message:
  -----------
  hw/intc: Mark OpenRISC-specific peripheral as big-endian

The Open Multi-Processor Interrupt Controller (ompic) is only
used by the OpenRISC target, which is only built as big-endian.
Therefore the DEVICE_NATIVE_ENDIAN definition expand to
DEVICE_BIG_ENDIAN (besides, the DEVICE_LITTLE_ENDIAN case isn't
tested). Simplify directly using DEVICE_BIG_ENDIAN.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 16c0efb5a7a088f90510f0f9315bfd1dde962f65
      
https://github.com/qemu/qemu/commit/16c0efb5a7a088f90510f0f9315bfd1dde962f65
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/openrisc/gdbstub.c

  Log Message:
  -----------
  target/openrisc: Use explicit big-endian LD/ST API

The OpenRISC architecture uses big endianness. Directly
use the big-endian LD/ST API.

Mechanical change running:

  $ for a in uw w l q; do \
      sed -i -e "s/ld${a}_p(/ld${a}_be_p(/" \
        $(git grep -wlE '(ld|st)u?[wlq]_p' target/openrisc/);
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 52392f95e694a8c95812bea0db399868c07ade35
      
https://github.com/qemu/qemu/commit/52392f95e694a8c95812bea0db399868c07ade35
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/openrisc/translate.c

  Log Message:
  -----------
  target/openrisc: Inline translator_ldl()

translator_ldl() is defined in "exec/translator.h" as:

  198 static inline uint32_t
  199 translator_ldl(CPUArchState *env, DisasContextBase *db, vaddr pc)
  200 {
  201     return translator_ldl_end(env, db, pc, MO_TE);
  202 }

Directly use the inlined form, expanding MO_TE -> mo_endian().

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 4685aa3e515cc6c3de83c899e16b06b7bbeca46b
      
https://github.com/qemu/qemu/commit/4685aa3e515cc6c3de83c899e16b06b7bbeca46b
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/openrisc/interrupt.c
    M target/openrisc/mmu.c

  Log Message:
  -----------
  target/openrisc: Remove unused 'gdbstub/helpers.h' header in helper.c

"gdbstub/helpers.h" uses target-specific symbols, but we don't
need it, so remove it.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 6238fc2f6590b527a8c47a1ea363f06f38aa8221
      
https://github.com/qemu/qemu/commit/6238fc2f6590b527a8c47a1ea363f06f38aa8221
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/openrisc/machine.c

  Log Message:
  -----------
  target/openrisc: Avoid target-specific migration headers in machine.c

machine.c doesn't use any target-specific macro defined by
the "migration/cpu.h" header. Use the minimum header required:
"migration/qemu-file-types.h" and "migration/vmstate.h", which
are not target-specific.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Prasad Pandit <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 5059b259dd960a26afcdae8ebf870f90b668f53c
      
https://github.com/qemu/qemu/commit/5059b259dd960a26afcdae8ebf870f90b668f53c
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/openrisc/meson.build

  Log Message:
  -----------
  target/openrisc: Build system units in common source set

Since previous 2 commits and range 2795bc52af4..5b67dbf1dc3 we
remove all uses of the target_ulong type in target/rx/. Use the
meson target_common_system_arch[] source set to prevent further
uses of target-specific types.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: de1f3d628e6e8f0859bf5202908c4e24d4175941
      
https://github.com/qemu/qemu/commit/de1f3d628e6e8f0859bf5202908c4e24d4175941
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/rx/helper.c
    M target/rx/op_helper.c

  Log Message:
  -----------
  target/rx: Use little-endian variant of cpu_ld/st_data*()

We only build the RX target using little endianness order,
therefore the cpu_ld/st_data*() definitions expand to the little
endian declarations. Use the explicit little-endian variants.

Mechanical change running:

  $ tgt=rx; \
    end=le; \
    for op in data mmuidx_ra; do \
      for ac in uw sw l q; do \
        sed -i -e "s/cpu_ld${ac}_${op}/cpu_ld${ac}_${end}_${op}/" \
                  $(git grep -l cpu_ target/${tgt}/); \
      done;
      for ac in w l q; do \
        sed -i -e "s/cpu_st${ac}_${op}/cpu_st${ac}_${end}_${op}/" \
                  $(git grep -l cpu_ target/${tgt}/); \
      done;
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Message-ID: <[email protected]>


  Commit: 41a1b46c3b294b046b439fb46febf4b4a16d9350
      
https://github.com/qemu/qemu/commit/41a1b46c3b294b046b439fb46febf4b4a16d9350
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/rx/cpu.c
    M target/rx/gdbstub.c

  Log Message:
  -----------
  target/rx: Use explicit little-endian LD/ST API

The RX architecture uses little endianness. Directly use
the little-endian LD/ST API.

Mechanical change using:

  $ end=le; \
    for acc in uw w l q tul; do \
      sed -i -e "s/ld${acc}_p(/ld${acc}_${end}_p(/" \
             -e "s/st${acc}_p(/st${acc}_${end}_p(/" \
        $(git grep -wlE '(ld|st)t?u?[wlq]_p' target/rx/); \
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: b0afb81271a4e03f9bdee9442e4abfd7a0002cf6
      
https://github.com/qemu/qemu/commit/b0afb81271a4e03f9bdee9442e4abfd7a0002cf6
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/rx/translate.c

  Log Message:
  -----------
  target/rx: Inline translator_lduw() and translator_ldl()

translator_lduw() and translator_ldl() are defined in
"exec/translator.h" as:

  192 static inline uint16_t
  193 translator_lduw(CPUArchState *env, DisasContextBase *db, vaddr pc)
  194 {
  195     return translator_lduw_end(env, db, pc, MO_TE);
  196 }

  198 static inline uint32_t
  199 translator_ldl(CPUArchState *env, DisasContextBase *db, vaddr pc)
  200 {
  201     return translator_ldl_end(env, db, pc, MO_TE);
  202 }

Directly use the inlined form, expanding MO_TE -> mo_endian().

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 90d14b8d0da2154d59c72d5237e8ae3f017ebbbd
      
https://github.com/qemu/qemu/commit/90d14b8d0da2154d59c72d5237e8ae3f017ebbbd
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/rx/meson.build

  Log Message:
  -----------
  target/rx: Build system units in common source set

Since commit range 2982b948a9f..86114e43ffd we remove all
uses of the target_ulong type in target/rx/. Use the meson
target_common_system_arch[] source set to prevent further
uses of target-specific types.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 678805a7ef15c62d1cddd768f2e73d9df0b77389
      
https://github.com/qemu/qemu/commit/678805a7ef15c62d1cddd768f2e73d9df0b77389
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/sh4/meson.build

  Log Message:
  -----------
  target/sh4: Build system units in common source set

Since commit range 42c90609b8f..82a1e739010 we remove all
uses of the target_ulong type in target/rx/. Use the meson
target_common_system_arch[] source set to prevent further
uses of target-specific types.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: be9fe81e29988927a9c66aca04130a85a729a4f3
      
https://github.com/qemu/qemu/commit/be9fe81e29988927a9c66aca04130a85a729a4f3
  Author: Alex Bennée <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/sh4/cpu.c

  Log Message:
  -----------
  target/sh4: drop cpu_reset from realizefn

Shuffle things around to ensure that gdb register creation was
done after dependant peripherals had created their cpu interfaces.

Signed-off-by: Alex Bennée <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>


  Commit: 21932912a08f3b8c9f6210ba41232cc4ae1a0ae6
      
https://github.com/qemu/qemu/commit/21932912a08f3b8c9f6210ba41232cc4ae1a0ae6
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M hw/audio/cs4231.c
    M hw/char/grlib_apbuart.c
    M hw/display/cg3.c
    M hw/display/tcx.c
    M hw/dma/sparc32_dma.c
    M hw/intc/grlib_irqmp.c
    M hw/intc/slavio_intctl.c
    M hw/misc/eccmemctl.c
    M hw/misc/slavio_misc.c
    M hw/rtc/sun4v-rtc.c
    M hw/timer/grlib_gptimer.c
    M hw/timer/slavio_timer.c

  Log Message:
  -----------
  hw/sparc: Mark SPARC-specific peripherals as big-endian

These devices are only used by the SPARC target, which is
only built as big-endian. Therefore the DEVICE_NATIVE_ENDIAN
definition expand to DEVICE_BIG_ENDIAN (besides, the
DEVICE_LITTLE_ENDIAN case isn't tested). Simplify directly
using DEVICE_BIG_ENDIAN.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 3b3033a0bfba40a751ec79ab67ed62023910f383
      
https://github.com/qemu/qemu/commit/3b3033a0bfba40a751ec79ab67ed62023910f383
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M hw/sparc/leon3.c
    M hw/sparc/sun4m.c
    M hw/sparc64/sun4u.c

  Log Message:
  -----------
  hw/sparc: Use explicit big-endian LD/ST API

The SPARC architecture uses big endianness. Directly use
the big-endian LD/ST API.

Mechanical change running:

  $ for a in uw w l q; do \
      sed -i -e "s/ld${a}_p(/ld${a}_be_p(/" \
        $(git grep -wlE '(ld|st)u?[wlq]_p' hw/sparc*/);
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Mark Cave-Ayland <[email protected]>
Reviewed-by: Chigot Clément <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Message-ID: <[email protected]>


  Commit: 18a91deb41b8f4a3bc7935b0a7b9fbc091bdceae
      
https://github.com/qemu/qemu/commit/18a91deb41b8f4a3bc7935b0a7b9fbc091bdceae
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/sparc/ldst_helper.c
    M target/sparc/mmu_helper.c

  Log Message:
  -----------
  target/sparc: Use explicit big-endian LD/ST API

The SPARC architecture uses big endianness. Directly use
the big-endian LD/ST API.

Mechanical change running:

  $ for a in uw w l q; do \
      sed -i -e "s/ld${a}_p(/ld${a}_be_p(/" \
        $(git grep -wlE '(ld|st)u?[wlq]_p' target/sparc/);
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: f7a00f64fa90b8e0d752b7eec9124f97a7dff34e
      
https://github.com/qemu/qemu/commit/f7a00f64fa90b8e0d752b7eec9124f97a7dff34e
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Inline translator_ldl()

translator_ldl() is defined in "exec/translator.h" as:

  198 static inline uint32_t
  199 translator_ldl(CPUArchState *env, DisasContextBase *db, vaddr pc)
  200 {
  201     return translator_ldl_end(env, db, pc, MO_TE);
  202 }

Directly use the inlined form, expanding MO_TE -> MO_BE
since we only build the SPARC targets as big-endian.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: a8f70781d760e48e30e0bc9ed05343454563ef69
      
https://github.com/qemu/qemu/commit/a8f70781d760e48e30e0bc9ed05343454563ef69
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/sparc/int32_helper.c

  Log Message:
  -----------
  target/sparc: Inline cpu_ldl_code() call in cpu_do_interrupt()

In preparation of removing the cpu_ldl_code wrapper, inline it.

Since SPARC instructions are always stored in big-endian order,
replace MO_TE -> MO_BE.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 4a4b272ae87f203c884040e0c53796f3addf9f31
      
https://github.com/qemu/qemu/commit/4a4b272ae87f203c884040e0c53796f3addf9f31
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/tricore/op_helper.c

  Log Message:
  -----------
  target/tricore: Use little-endian variant of cpu_ld/st_data*()

We only build the TriCore target using little endianness order,
therefore the cpu_ld/st_data*() definitions expand to the little
endian declarations. Use the explicit little-endian variants.

Mechanical change running:

  $ tgt=tricore; \
    end=le; \
    for op in data mmuidx_ra; do \
      for ac in uw sw l q; do \
        sed -i -e "s/cpu_ld${ac}_${op}/cpu_ld${ac}_${end}_${op}/" \
                  $(git grep -l cpu_ target/${tgt}/); \
      done;
      for ac in w l q; do \
        sed -i -e "s/cpu_st${ac}_${op}/cpu_st${ac}_${end}_${op}/" \
                  $(git grep -l cpu_ target/${tgt}/); \
      done;
    done

Then adapting spaces style manually to pass checkpatch.pl.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Message-ID: <[email protected]>


  Commit: 8075a0a5479d2930d9df9177f6c8a4dd5c6a42e7
      
https://github.com/qemu/qemu/commit/8075a0a5479d2930d9df9177f6c8a4dd5c6a42e7
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/tricore/translate.c

  Log Message:
  -----------
  target/tricore: Inline translator_lduw()

translator_lduw() is defined in "exec/translator.h" as:

 192 static inline uint16_t
 193 translator_lduw(CPUArchState *env, DisasContextBase *db, vaddr pc)
 194 {
 195     return translator_lduw_end(env, db, pc, MO_TE);
 196 }

Directly use the inlined form, expanding MO_TE -> MO_LE
since we only build the TriCore target as little-endian.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 6338bb09db394f577465ff1eaeb6fa28650ae0ea
      
https://github.com/qemu/qemu/commit/6338bb09db394f577465ff1eaeb6fa28650ae0ea
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/tricore/meson.build

  Log Message:
  -----------
  target/tricore: Build system units in common source set

Since commit range 809b460f305..cd08bcaa36b we remove all
uses of the target_ulong type in target/rx/. Use the meson
target_common_system_arch[] source set to prevent further
uses of target-specific types.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: ec77d52cc5bd859df2d85e8e2c090766bd4ce585
      
https://github.com/qemu/qemu/commit/ec77d52cc5bd859df2d85e8e2c090766bd4ce585
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M accel/tcg/user-exec-stub.c
    M include/accel/tcg/cpu-ops.h
    M include/exec/watchpoint.h

  Log Message:
  -----------
  accel/tcg: Un-inline WatchPoint API user-emulation stubs

Currently we can not build files including "exec/watchpoint.h"
as meson common objects because the CONFIG_USER_ONLY definition
is poisoned. We can easily fix that by un-inlining the
user-emulation stubs.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Message-ID: <[email protected]>


  Commit: e5bb3f77150c18fa69ba086eb653d36e49696ef5
      
https://github.com/qemu/qemu/commit/e5bb3f77150c18fa69ba086eb653d36e49696ef5
  Author: Pierrick Bouvier <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M include/gdbstub/helpers.h

  Log Message:
  -----------
  gdbstub/helpers.h: allow header to be called from common code

Target specific variants can't be used in common code, thus limit their
definition to COMPILING_PER_TARGET.

Signed-off-by: Pierrick Bouvier <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>


  Commit: 7e274980f2ed843f6393072533bdc7ff78fdb0a1
      
https://github.com/qemu/qemu/commit/7e274980f2ed843f6393072533bdc7ff78fdb0a1
  Author: Pierrick Bouvier <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/arm/gdbstub.c
    M target/arm/gdbstub64.c
    M target/arm/internals.h

  Log Message:
  -----------
  target/arm/gdbstub: extract aarch64_cpu_register_gdb_regs_for_features

Signed-off-by: Pierrick Bouvier <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>


  Commit: f445b4a4b6fa5b03503bc8fdfa4c336e13afc48f
      
https://github.com/qemu/qemu/commit/f445b4a4b6fa5b03503bc8fdfa4c336e13afc48f
  Author: Pierrick Bouvier <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M target/arm/cpu32-stubs.c
    M target/arm/gdbstub.c
    M target/arm/meson.build

  Log Message:
  -----------
  target/arm/gdbstub: make compilation unit common

Expose and stubs aarch64 functions. All call sites are under a
"is_aarch64" check.

Signed-off-by: Pierrick Bouvier <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>


  Commit: cf3e71d8fc8ba681266759bb6cb2e45a45983e3e
      
https://github.com/qemu/qemu/commit/cf3e71d8fc8ba681266759bb6cb2e45a45983e3e
  Author: Richard Henderson <[email protected]>
  Date:   2026-01-13 (Tue, 13 Jan 2026)

  Changed paths:
    M MAINTAINERS
    M accel/tcg/user-exec-stub.c
    M docs/devel/loads-stores.rst
    M hw/alpha/dp264.c
    M hw/alpha/typhoon.c
    M hw/audio/cs4231.c
    M hw/char/grlib_apbuart.c
    M hw/display/cg3.c
    M hw/display/tcx.c
    M hw/dma/sparc32_dma.c
    M hw/intc/grlib_irqmp.c
    M hw/intc/ompic.c
    M hw/intc/slavio_intctl.c
    M hw/loongarch/virt.c
    M hw/microblaze/meson.build
    M hw/microblaze/petalogix_s3adsp1800_mmu.c
    M hw/misc/eccmemctl.c
    M hw/misc/slavio_misc.c
    M hw/rtc/sun4v-rtc.c
    M hw/sparc/leon3.c
    M hw/sparc/sun4m.c
    M hw/sparc64/sun4u.c
    M hw/timer/grlib_gptimer.c
    M hw/timer/slavio_timer.c
    M include/accel/tcg/cpu-ops.h
    M include/exec/watchpoint.h
    M include/gdbstub/helpers.h
    M include/hw/virtio/virtio-access.h
    M include/qemu/bswap.h
    M include/qemu/host-utils.h
    M include/qemu/int128.h
    M include/system/memory.h
    A include/system/memory_cached.h
    M linux-user/alpha/target_proc.h
    M meson.build
    M system/ioport.c
    M system/memory_ldst.c.inc
    M system/physmem.c
    M system/trace-events
    M target/alpha/mem_helper.c
    M target/alpha/translate.c
    M target/arm/cpu32-stubs.c
    M target/arm/gdbstub.c
    M target/arm/gdbstub64.c
    M target/arm/internals.h
    M target/arm/meson.build
    M target/avr/translate.c
    M target/hexagon/macros.h
    M target/hexagon/op_helper.c
    M target/hexagon/translate.c
    M target/hppa/gdbstub.c
    M target/hppa/int_helper.c
    M target/hppa/machine.c
    M target/hppa/op_helper.c
    M target/hppa/translate.c
    M target/loongarch/cpu_helper.c
    M target/loongarch/tcg/insn_trans/trans_atomic.c.inc
    M target/loongarch/tcg/insn_trans/trans_fmemory.c.inc
    M target/loongarch/tcg/insn_trans/trans_memory.c.inc
    M target/loongarch/tcg/insn_trans/trans_vec.c.inc
    M target/loongarch/tcg/iocsr_helper.c
    M target/loongarch/tcg/tcg_cpu.c
    M target/loongarch/tcg/tlb_helper.c
    M target/loongarch/tcg/translate.c
    M target/m68k/monitor.c
    M target/microblaze/machine.c
    M target/microblaze/meson.build
    M target/microblaze/translate.c
    M target/openrisc/gdbstub.c
    M target/openrisc/interrupt.c
    M target/openrisc/machine.c
    M target/openrisc/meson.build
    M target/openrisc/mmu.c
    M target/openrisc/translate.c
    M target/rx/cpu.c
    M target/rx/gdbstub.c
    M target/rx/helper.c
    M target/rx/meson.build
    M target/rx/op_helper.c
    M target/rx/translate.c
    M target/sh4/cpu.c
    M target/sh4/meson.build
    M target/sparc/int32_helper.c
    M target/sparc/ldst_helper.c
    M target/sparc/mmu_helper.c
    M target/sparc/translate.c
    M target/tricore/meson.build
    M target/tricore/op_helper.c
    M target/tricore/translate.c
    M tests/qtest/aspeed_smc-test.c
    M tests/qtest/ast2700-smc-test.c
    M tests/qtest/endianness-test.c
    M tests/qtest/libqos/fw_cfg.c
    M tests/qtest/libqos/i2c-omap.c
    M tests/qtest/libqtest.c
    M tests/qtest/pnv-spi-seeprom-test.c
    M tests/qtest/pnv-xive2-common.h

  Log Message:
  -----------
  Merge tag 'single-binary-20260112' of https://github.com/philmd/qemu into 
staging

Various patches related to single binary effort:

- Endianness cleanups in memory core subsystem and for various targets
- Few cleanups around target_ulong type
- Build various compilation units as common

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmlleisACgkQ4+MsLN6t
# wN40yw/+NYK6Q+v8YHclH0g6YkPsXYsCVOLWhYaUQ9Smc3Vk8js02LRMxomGiyjc
# lRhatftrH4dCuiWavyhlK/z+tu3b2WOgjjcIocg7ztZEwzyvDPEKidBNM4Wrv27d
# 6WNdtCn1rOOYQBcCs/MEHnrxIl3qfl5Kqt4hzejcK4E1DFa1m5ashAEVJwMlqYWp
# qkBT3fw0jfHojM+eTAbvKI1fi27GVMXbQXSM3V3vG3njxmx4JQT0p9QjyDYWZwgh
# xAJvy5neoNv3T7TBELCfqSWzGA5WHrW/eAkuRuO0JVa69IOn/mh2aGKboJMT7KQF
# ufyxceHMj8TLJr6c9BrvaWX7+p7xyvbX3ud+qXOV9P2FBVm+hf2lHnw0pJJ6A51g
# qv3u8zUVwhmx6oF95ibQtaWKdLNhGCKtVKJu59Xxj/7Bp00BS1Jnj6E/g34To8Vm
# 18g3cPJ+CEhdTFSkcHusiVI4GdHb8JEGUd5kyWza3gEgYb/J1Ps/a807n6C6NQcq
# MRkt2zNKS+sJeZzvl+BGH8WewMVGWm1f8IoP28ZvgyxFVutkgFcj+UQZp3J7mkpV
# ja0B7+1NMK9oMeq/+YM4gUgEF0ydThlqa+qTzxVYu8qpzWT9+cqqWeQHAteE3g/v
# rqqu/sBUSbh5xi+82zRbgwd7Hj31ST5XkepQN0vUTT4P3zCijy8=
# =P+9/
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 13 Jan 2026 09:48:11 AM AEDT
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <[email protected]>" 
[unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* tag 'single-binary-20260112' of https://github.com/philmd/qemu: (61 commits)
  target/arm/gdbstub: make compilation unit common
  target/arm/gdbstub: extract aarch64_cpu_register_gdb_regs_for_features
  gdbstub/helpers.h: allow header to be called from common code
  accel/tcg: Un-inline WatchPoint API user-emulation stubs
  target/tricore: Build system units in common source set
  target/tricore: Inline translator_lduw()
  target/tricore: Use little-endian variant of cpu_ld/st_data*()
  target/sparc: Inline cpu_ldl_code() call in cpu_do_interrupt()
  target/sparc: Inline translator_ldl()
  target/sparc: Use explicit big-endian LD/ST API
  hw/sparc: Use explicit big-endian LD/ST API
  hw/sparc: Mark SPARC-specific peripherals as big-endian
  target/sh4: drop cpu_reset from realizefn
  target/sh4: Build system units in common source set
  target/rx: Build system units in common source set
  target/rx: Inline translator_lduw() and translator_ldl()
  target/rx: Use explicit little-endian LD/ST API
  target/rx: Use little-endian variant of cpu_ld/st_data*()
  target/openrisc: Build system units in common source set
  target/openrisc: Avoid target-specific migration headers in machine.c
  ...

Signed-off-by: Richard Henderson <[email protected]>


Compare: https://github.com/qemu/qemu/compare/894c8bd56ff1...cf3e71d8fc8b

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications

Reply via email to