Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: 3c8f525e930f7cbe32bd868bc7a298e1416c4204
https://github.com/qemu/qemu/commit/3c8f525e930f7cbe32bd868bc7a298e1416c4204
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M linux-user/vm86.c
M target/i386/ops_sse.h
M target/i386/tcg/mem_helper.c
M target/i386/tcg/mpx_helper.c
M target/i386/tcg/seg_helper.c
M target/i386/tcg/seg_helper.h
M target/i386/tcg/system/excp_helper.c
M target/i386/tcg/system/svm_helper.c
Log Message:
-----------
target/i386: Use little-endian variant of cpu_ld/st_data*()
We only build the X86 targets 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=i386; \
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 indentation in helper_vmload() to pass checkpatch.pl.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Commit: b7f18d29801b6f2e109db6a3d44479b16c630d12
https://github.com/qemu/qemu/commit/b7f18d29801b6f2e109db6a3d44479b16c630d12
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M target/riscv/vector_helper.c
Log Message:
-----------
target/riscv: Use little-endian variant of cpu_ld/st_data*() for vector
RISC-V vector "elements are simply packed in order from
the least-signicant to most-signicant bits of the vector
register" [*] which is little endianness, therefore the
cpu_ld/st_data*() definitions expand to the little endian
declarations. Use the explicit little-endian variants.
[*] RISC-V "V" Vector Extension v1.0
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Daniel Henrique Barboza <[email protected]>
Message-Id: <[email protected]>
Commit: 9668079d8bd1ff2df6804bd33ed6eb77868641ba
https://github.com/qemu/qemu/commit/9668079d8bd1ff2df6804bd33ed6eb77868641ba
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M target/m68k/fpu_helper.c
M target/m68k/op_helper.c
Log Message:
-----------
target/m68k: Use big-endian variant of cpu_ld/st_data*()
We only build the M68k 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=m68k; \
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
Then adapting indentation in do_stack_frame() to pass checkpatch.pl.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Commit: 4cc30fe59ff1e04db9c7b9835969fc660714af3b
https://github.com/qemu/qemu/commit/4cc30fe59ff1e04db9c7b9835969fc660714af3b
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M target/sparc/ldst_helper.c
Log Message:
-----------
target/sparc: Use big-endian variant of cpu_ld/st_data*()
We only build the SPARC targets 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=sparc; \
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: ff9359fca2fb22103c13143f91c1a36b6a16f019
https://github.com/qemu/qemu/commit/ff9359fca2fb22103c13143f91c1a36b6a16f019
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M target/sh4/op_helper.c
Log Message:
-----------
target/sh4: Replace cpu_stl_data() call in OCBI helper
In preparation of removing the cpu_stl_data() call,
inline it. Set the return address argument.
See commit 852d481faf7 ("SH: Improve movca.l/ocbi
emulation") for more context on this code.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Commit: 81c389fd6f0c9ef0f0b14cc0f1184d9d29f1b9c5
https://github.com/qemu/qemu/commit/81c389fd6f0c9ef0f0b14cc0f1184d9d29f1b9c5
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M target/ppc/mem_helper.c
Log Message:
-----------
target/ppc: Simplify endianness handling in Altivec opcodes
Access the memory in big-endian order,
swap bytes when MSR.LE is set.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Commit: 311569185539766c5578edd07541d44930e14741
https://github.com/qemu/qemu/commit/311569185539766c5578edd07541d44930e14741
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M audio/audio.c
M block/blklogwrites.c
M block/export/vduse-blk.c
M block/export/vhost-user-blk-server.c
M block/export/virtio-blk-handler.c
M block/parallels-ext.c
M block/qcow2.h
M hw/9pfs/9p-local.c
M hw/block/cdrom.c
M hw/block/hd-geometry.c
M hw/net/can/ctucan_core.c
M hw/nvram/xlnx-efuse.c
M hw/scsi/scsi-generic.c
M hw/sd/sd.c
M hw/sd/ssi-sd.c
M net/l2tpv3.c
M qga/commands-linux.c
M scsi/pr-manager-helper.c
M target/arm/tcg/arith_helper.c
M tests/qtest/acpi-utils.c
M tests/qtest/aspeed-hace-utils.c
M tests/qtest/bios-tables-test.c
M tests/qtest/libqos/igb.c
M tests/qtest/libqos/virtio-9p-client.c
M tests/qtest/migration/framework.c
M tests/qtest/npcm7xx_emc-test.c
M tests/qtest/tpm-emu.c
M tests/qtest/ufs-test.c
M tests/qtest/vmgenid-test.c
M tests/unit/test-hbitmap.c
M util/bitmap.c
Log Message:
-----------
bswap: Include missing 'qemu/bswap.h' header
All these files indirectly include the "qemu/bswap.h" header.
Make this inclusion explicit to avoid build errors when
refactoring unrelated headers.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: e44dc42f3aefb2e51dd58dce81dc1f93d2d232b3
https://github.com/qemu/qemu/commit/e44dc42f3aefb2e51dd58dce81dc1f93d2d232b3
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M tests/qtest/ahci-test.c
M tests/qtest/libqos/ahci.c
M tests/qtest/libqos/generic-pcihost.c
M tests/qtest/libqos/pci-spapr.c
M util/hbitmap.c
Log Message:
-----------
bswap: Use 'qemu/bswap.h' instead of 'qemu/host-utils.h'
These files only require "qemu/bswap.h", not "qemu/host-utils.h".
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: e3bf323f5383bc21abab3ead3f90e876250b3070
https://github.com/qemu/qemu/commit/e3bf323f5383bc21abab3ead3f90e876250b3070
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M include/qemu/host-utils.h
M include/qemu/int128.h
Log Message:
-----------
bswap: Remove unnecessary 'qemu/bswap.h'
"qemu/host-utils.h" and "qemu/int128.h" are included a lot in
the tree, and don't use any definition from "qemu/bswap.h"...
Since it contains a lot of inlined functions, remove it to
reduce pointless compilation cycles.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: cfb88b2ce33c10d2f49bdc111cd13cefc71d14f7
https://github.com/qemu/qemu/commit/cfb88b2ce33c10d2f49bdc111cd13cefc71d14f7
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M include/qemu/bswap.h
Log Message:
-----------
system/memory: Introduce ldm_p() and stm_p() load/store helpers
Introduce load/store helpers which take a MemOp argument.
Inspired-by: Paolo Bonzini <[email protected]>
Suggested-by: Richard Henderson <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Commit: 08bcb64bcee89bdd75d0a2a2b4c8475db8b47e79
https://github.com/qemu/qemu/commit/08bcb64bcee89bdd75d0a2a2b4c8475db8b47e79
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M MAINTAINERS
M include/system/memory_ldst.h.inc
A include/system/memory_ldst_endian.h.inc
M include/system/memory_ldst_phys.h.inc
A include/system/memory_ldst_phys_endian.h.inc
M system/memory_ldst.c.inc
A system/memory_ldst_endian.c.inc
Log Message:
-----------
system/memory: Define address_space_ldst[W] endian variants via template
Like we do for other LD/ST APIs, use one template to declare and
define all endianness variants of the address_space_ldst[W] methods.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: 2cdca569bdf0f8a4a281872db8facada3e9f1869
https://github.com/qemu/qemu/commit/2cdca569bdf0f8a4a281872db8facada3e9f1869
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M include/system/memory_ldst.h.inc
M include/system/memory_ldst_endian.h.inc
M include/system/memory_ldst_phys.h.inc
M include/system/memory_ldst_phys_endian.h.inc
M system/memory_ldst.c.inc
M system/memory_ldst_endian.c.inc
Log Message:
-----------
system/memory: Define address_space_ldst[L] endian variants via template
Define address_space_ldst[L] endian variants via template.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: 99989213a2cb4792672b6c15b93aac07f41b2b69
https://github.com/qemu/qemu/commit/99989213a2cb4792672b6c15b93aac07f41b2b69
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M include/system/memory_ldst.h.inc
M include/system/memory_ldst_endian.h.inc
M include/system/memory_ldst_phys.h.inc
M include/system/memory_ldst_phys_endian.h.inc
M system/memory_ldst.c.inc
M system/memory_ldst_endian.c.inc
Log Message:
-----------
system/memory: Define address_space_ldst[Q] endian variants via template
Define address_space_ldst[Q] endian variants via template.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: 9c2ed58b6d2627160876a2f8459b42f7247924e9
https://github.com/qemu/qemu/commit/9c2ed58b6d2627160876a2f8459b42f7247924e9
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M system/memory_ldst.c.inc
Log Message:
-----------
system/memory: Factor address_space_ldst[M]_internal() helper out
All the LD/ST[W,L,Q] variants use the same template, only
modifying the access size used. Unify as a single pair of
LD/ST methods taking a MemOp argument. Thus use the 'm'
suffix for MemOp.
Keep the pre-existing "warning: addr must be aligned" comment.
We leave the wonder about why we aren't asserting alignment
for later.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: c790e17de2e36ddfaa03504cd7a4c1a42271489a
https://github.com/qemu/qemu/commit/c790e17de2e36ddfaa03504cd7a4c1a42271489a
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M system/memory_ldst.c.inc
M system/memory_ldst_endian.c.inc
Log Message:
-----------
system/memory: Pass device_endian argument as MemOp bit
Use the MemOp argument to hold both the access size and
its endianness.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: dd1b3aaa05387f224b45ed3143b0a68864fed48f
https://github.com/qemu/qemu/commit/dd1b3aaa05387f224b45ed3143b0a68864fed48f
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M system/memory_ldst.c.inc
Log Message:
-----------
system/memory: Use ldm_p() and stm_p() helpers
address_space_{ld,st}m_internal() take a MemOp argument
so can directly use the {ld,st}m_p() helpers.
Suggested-by: Paolo Bonzini <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: d5461ff4ebee7a1676af2dda3f670383edd0f114
https://github.com/qemu/qemu/commit/d5461ff4ebee7a1676af2dda3f670383edd0f114
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M system/memory_ldst.c.inc
M system/memory_ldst_endian.c.inc
Log Message:
-----------
system/memory: Directly call address_space_ldst[M]_internal() helper
Inline internal address_space_ld/st[L,D,Q] helpers,
directly calling address_space_ldst[M]_internal().
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: 23b34de6dfbd42f1c2d9df0f0aee12b5cab3d2e0
https://github.com/qemu/qemu/commit/23b34de6dfbd42f1c2d9df0f0aee12b5cab3d2e0
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M include/system/memory_ldst_phys.h.inc
M scripts/make-config-poison.sh
Log Message:
-----------
system: Allow restricting the legacy ld/st_phys() 'native-endian' API
Guard the native endian APIs we want to remove by surrounding
them with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry.
Since all targets can check the definition, do not poison it.
Once a target gets cleaned we'll set the definition in the
target config, then the target won't be able to use the legacy
API anymore.
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: 5d267f5b852cde3ccd9e0d60f6c498e2b67daab8
https://github.com/qemu/qemu/commit/5d267f5b852cde3ccd9e0d60f6c498e2b67daab8
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M include/system/memory_cached.h
M include/system/memory_ldst.h.inc
M system/memory_ldst.c.inc
Log Message:
-----------
system: Allow restricting legacy address_space_ldst() native-endian API
Guard the native endian APIs we want to remove by surrounding
them with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry.
Once a target gets cleaned we'll set the definition in the
target config, then the target won't be able to use the legacy
API anymore.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: 2c9429d213cc930d16fe3e2846e4f08d2d39bad6
https://github.com/qemu/qemu/commit/2c9429d213cc930d16fe3e2846e4f08d2d39bad6
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M include/accel/tcg/cpu-ldst.h
Log Message:
-----------
system: Allow restricting the legacy cpu_ld/st() 'native-endian' API
Guard the native endian APIs we want to remove by surrounding
them with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry.
Once a target gets cleaned we'll set the definition in the
target config, then the target won't be able to use the legacy
API anymore.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: 0fca27a4d5060af1532dff031b01fdde6910971d
https://github.com/qemu/qemu/commit/0fca27a4d5060af1532dff031b01fdde6910971d
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M include/exec/translator.h
Log Message:
-----------
system: Allow restricting the legacy translator_ld() 'native-endian' API
Guard the native endian APIs we want to remove by surrounding
them with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry.
Once a target gets cleaned we'll set the definition in the
target config, then the target won't be able to use the legacy
API anymore.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: f9e68a2c82a73b4b7c076774dcc1c94c91bd1c24
https://github.com/qemu/qemu/commit/f9e68a2c82a73b4b7c076774dcc1c94c91bd1c24
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M include/exec/tswap.h
Log Message:
-----------
system: Allow restricting the legacy tswap() 'native-endian' API
Guard the native endian APIs we want to remove by surrounding
them with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry.
Once a target gets cleaned we'll set the definition in the
target config, then the target won't be able to use the legacy
API anymore.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: a9c39c7083eb59fa3161441f6fd36a5df1825d25
https://github.com/qemu/qemu/commit/a9c39c7083eb59fa3161441f6fd36a5df1825d25
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M include/exec/memop.h
Log Message:
-----------
system: Allow restricting the legacy MO_TE* 'native-endian' definitions
Guard the native endian definitions we want to remove by surrounding
them with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry.
Once a target gets cleaned we'll set the definition in the
target config, then the target won't be able to use the legacy
API anymore.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: 8b2f8590632204dc61d6973442ea815e9dad5ba8
https://github.com/qemu/qemu/commit/8b2f8590632204dc61d6973442ea815e9dad5ba8
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M include/system/memory.h
M system/memory-internal.h
Log Message:
-----------
system: Allow restricting the legacy DEVICE_NATIVE_ENDIAN definition
Guard the native endian definition we want to remove by surrounding
it with TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API #ifdef'ry.
Assign values to the enumerators so they stay unchanged.
Once a target gets cleaned we'll set the definition in the target
config, then the target won't be able to use the legacy API anymore.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: d78a07fb212e2a757dd16495de3a90d30eb2d9d5
https://github.com/qemu/qemu/commit/d78a07fb212e2a757dd16495de3a90d30eb2d9d5
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M configs/targets/hexagon-linux-user.mak
Log Message:
-----------
configs/targets: Forbid Hexagon to use legacy native endianness API
The qemu-hexagon binary is buildable without a single use
of the legacy "native endian" API. Set the transitional
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API definition to
forbid further uses of the legacy API.
Preliminary commits allowing this final change:
. dffb3938aa4 target/hexagon: Use little-endian variant of cpu_ld/st_data*()
. 989b25c73b7 target/hexagon: Inline translator_ldl()
. beb38fda0f0 target/hexagon: Replace MO_TE -> MO_LE
. fdcb7483ae0 target/hexagon: Explode MO_TExx -> MO_TE | MO_xx
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Message-ID: <[email protected]>
Commit: 403959d0f614b8b8f15398032803cb9f272e3761
https://github.com/qemu/qemu/commit/403959d0f614b8b8f15398032803cb9f272e3761
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M configs/targets/hppa-linux-user.mak
M configs/targets/hppa-softmmu.mak
Log Message:
-----------
configs/targets: Forbid HPPA to use legacy native endianness APIs
All HPPA-related binaries are buildable without a single use
of the legacy "native endian" API. Set the transitional
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API definition to
forbid further uses of the legacy API.
Preliminary commits allowing this final change:
. c77d0e90093 target/hppa: Use big-endian variant of cpu_ld/st_data*()
. 75498b3f7b9 target/hppa: Use explicit big-endian LD/ST API
. bcf5e5d3e33 target/hppa: Inline translator_ldl()
. 7307ff95581 target/hppa: Replace MO_TE -> MO_BE
. 6c1c734f786 target/hppa: Introduce mo_endian() helper
. 64d1c178513 target/hppa: Conceal MO_TE within do_store_32/64()
. 0807994a0cc target/hppa: Conceal MO_TE within do_store()
. e3da4367117 target/hppa: Conceal MO_TE within do_load_32/64()
. 4eef4dab502 target/hppa: Conceal MO_TE within do_load()
. 714dd08fed1 target/hppa: Explode MO_TExx -> MO_TE | MO_xx
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: c6056f9812e56c3e6c993e92c038081a2506244e
https://github.com/qemu/qemu/commit/c6056f9812e56c3e6c993e92c038081a2506244e
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M configs/targets/loongarch64-linux-user.mak
M configs/targets/loongarch64-softmmu.mak
Log Message:
-----------
configs/targets: Forbid LoongArch to use legacy native endianness APIs
All LoongArch-related binaries are buildable without a single
use of the legacy "native endian" API. Set the transitional
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API definition to forbid
further uses of the legacy API.
Preliminary commits allowing this final change:
. 6b4c30465c0 target/loongarch: Inline translator_ldl()
. f9a03787c7f target/loongarch: Use explicit little-endian LD/ST API
. 91312a6d046 target/loongarch: Inline cpu_ldl_code() call in
cpu_do_interrupt()
. 492b2799c64 target/loongarch: Replace MO_TE -> MO_LE
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>
Message-Id: <[email protected]>
Commit: f2a334c5f5626e7905e0643e57943a8a13f6e44b
https://github.com/qemu/qemu/commit/f2a334c5f5626e7905e0643e57943a8a13f6e44b
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M configs/targets/or1k-linux-user.mak
M configs/targets/or1k-softmmu.mak
Log Message:
-----------
configs/targets: Forbid OpenRISC to use legacy native endianness APIs
All OpenRISC-related binaries are buildable without a single
use of the legacy "native endian" API. Set the transitional
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API definition to forbid
further uses of the legacy API.
Preliminary commits allowing this final change:
. 52392f95e69 target/openrisc: Inline translator_ldl()
. 16c0efb5a7a target/openrisc: Use explicit big-endian LD/ST API
. 5b67dbf1dc3 target/openrisc: Replace target_ulong -> uint32_t
. 500708331e3 target/openrisc: Inline tcg_gen_trunc_i64_tl()
. 4f6c60683f2 target/openrisc: Replace MO_TE -> MO_BE
. 73cd283e58d target/openrisc: Introduce mo_endian() helper
. 2f737e19a4d target/openrisc: Conceal MO_TE within do_store()
. 22c36c0a20c target/openrisc: Conceal MO_TE within do_load()
. ef797ac0025 target/openrisc: Explode MO_TExx -> MO_TE | MO_xx
. 81e2fb236b7 target/openrisc: Remove 'TARGET_LONG_BITS != 32' dead code
. 9dc4862dc4a target/openrisc: Use vaddr type for $pc jumps
. 2367c94cbb1 target/openrisc: Remove target_ulong use in raise_mmu_exception()
. 1843e89bec5 target/openrisc: Remove unused cpu_openrisc_map_address_*()
handlers
. a3c4facd395 target/openrisc: Do not use target_ulong for @mr in MTSPR helper
. 2795bc52af4 target/openrisc: Replace VMSTATE_UINTTL() -> VMSTATE_UINT32()
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: 8790da3161a833091d52a578e94c5bd93e3aeeb9
https://github.com/qemu/qemu/commit/8790da3161a833091d52a578e94c5bd93e3aeeb9
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M configs/targets/tricore-softmmu.mak
Log Message:
-----------
configs/targets: Forbid TriCore to use legacy native endianness API
The qemu-system-tricore binary is buildable without a single
use of the legacy "native endian" API. Set the transitional
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API definition to forbid
further uses of the legacy API.
Preliminary commits allowing this final change:
. 8075a0a5479 target/tricore: Inline translator_lduw()
. 4a4b272ae87 target/tricore: Use little-endian variant of cpu_ld/st_data*()
. cd08bcaa36b target/tricore: Expand TCGv type for 32-bit target
. 8a2235dd077 target/tricore: Un-inline various helpers
. e843ef2bbac target/tricore: Pass DisasContext as first argument
. 4f08815467e target/tricore: Expand TCG helpers for 32-bit target
. f30c8aa229d target/tricore: Inline tcg_gen_ld32u_tl()
. 6b2e4fcb836 target/tricore: Declare registers as TCGv_i32
. c558aa94211 target/tricore: Replace target_ulong -> uint32_t in op_helper.c
. 30257dcd2b0 target/tricore: Remove unnecessary cast to target_ulong
. 44e2b68d275 target/tricore: Remove target_ulong use in gen_addi_d()
. a15e8996268 target/tricore: Remove target_ulong use in translate_insn()
handler
. 0d5f9542561 target/tricore: Replace target_ulong -> vaddr with tlb_fill()
callees
. 809b460f305 target/tricore: Remove target_ulong use in gen_goto_tb()
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: a68b332fc8148c1a19a685155fb936296274834a
https://github.com/qemu/qemu/commit/a68b332fc8148c1a19a685155fb936296274834a
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M configs/targets/rx-softmmu.mak
Log Message:
-----------
configs/targets: Forbid Renesas RX to use legacy native endianness API
The qemu-system-rx binary is buildable without a single
use of the legacy "native endian" API. Set the transitional
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API definition to forbid
further uses of the legacy API.
Preliminary commits allowing this final change:
. b0afb81271a target/rx: Inline translator_lduw() and translator_ldl()
. 41a1b46c3b2 target/rx: Use explicit little-endian LD/ST API
. de1f3d628e6 target/rx: Use little-endian variant of cpu_ld/st_data*()
. 0f4af4e2672 target/rx: Use MemOp type in gen_ld[u]() and gen_st()
. 2062fa663c0 target/rx: Propagate DisasContext to generated helpers
. 8b71fd6ffec target/rx: Propagate DisasContext to push() / pop()
. 363fff6d1b1 target/rx: Propagate DisasContext to gen_ld[u]() and gen_st()
. cb8e4556d58 target/rx: Factor mo_endian() helper out
. f9903a8a23e target/rx: Replace MO_TE -> MO_LE
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: da38740554c7ffd8c1c630d0764c733018dd29be
https://github.com/qemu/qemu/commit/da38740554c7ffd8c1c630d0764c733018dd29be
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M configs/targets/s390x-linux-user.mak
M configs/targets/s390x-softmmu.mak
Log Message:
-----------
configs/targets: Forbid s390x to use legacy native endianness APIs
All s390x-related binaries are buildable without a single
use of the legacy "native endian" API. Set the transitional
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API definition to forbid
further uses of the legacy API.
Preliminary commits allowing this final change:
. f0853c25862 target/s390x: Inline translator_lduw() and translator_ldl()
. ee4dae6a332 target/s390x: Use big-endian variant of cpu_ld/st_data*()
. 381a1fda5bf target/s390x: Inline cpu_ld{uw, l}_code() calls in EX opcode
helper
. 69da23130f2 target/s390x: Replace MO_TE -> MO_BE
. 0fb6ad781cc target/s390x: Replace gdb_get_regl() -> gdb_get_reg64()
. 409cbb1a619 target/s390x: Use explicit big-endian LD/ST API
. 6d9dad71265 target/s390x: Replace HOST_BIG_ENDIAN #ifdef with if() check
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: 40b51dd9b452831d47840bd90b20e0d827370827
https://github.com/qemu/qemu/commit/40b51dd9b452831d47840bd90b20e0d827370827
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M dump/win_dump.c
Log Message:
-----------
dump: Abort in create_win_dump() on non-x86 guests
qmp_dump_guest_memory() checks win_dump_available()
before calling create_win_dump(). On non-x86 targets
calling it would be a programming error, so abort.
Reviewed-by: Marc-André Lureau <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Commit: a2290fa210f96935bcb6dc45a402d57f8872d8a0
https://github.com/qemu/qemu/commit/a2290fa210f96935bcb6dc45a402d57f8872d8a0
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M Kconfig
A dump/Kconfig
M dump/meson.build
A dump/win_dump-stubs.c
A dump/win_dump-x86.c
R dump/win_dump.c
Log Message:
-----------
dump: Build stubs once for non-x86 targets
Rather than compiling the same content for all targets (unused
most of the time, i.e. qemu-system-avr ...), extract the non
x86 specific parts to a stub file and build it once for all
non-x86 targets.
Add a Kconfig symbol to only select the target-specific file
with the x86 target (rename this file with '-x86' suffix).
Since Kconfig symbols aren't evaluated for user emulation,
the file unit is only built for system emulation.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Marc-André Lureau <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Commit: d6f174f61d618b37cb824e8d46899f58bd0a98d5
https://github.com/qemu/qemu/commit/d6f174f61d618b37cb824e8d46899f58bd0a98d5
Author: Gustavo Romero <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M target/arm/cpu.c
Log Message:
-----------
target/arm: Initialize AS 0 first
Move the initialization of AS of index 0 (ARMASIdx_NS) so it happens
before the initialization of the other address spaces. This is purely a
code organization change with no effect on behavior.
Signed-off-by: Gustavo Romero <[email protected]>
Suggested-by: Alex Bennée <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Commit: 500bf3dfcfd077cb442138677b6ec6bb23026d63
https://github.com/qemu/qemu/commit/500bf3dfcfd077cb442138677b6ec6bb23026d63
Author: Gustavo Romero <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M target/i386/cpu.h
Log Message:
-----------
target/i386: Add a _MAX sentinel to X86ASIdx enum
Add a sentinel to the X86ASIdx enum so it can be used to compute the
total number of address spaces supported by the arch.
Signed-off-by: Gustavo Romero <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Commit: 1d60038fc84f2cdb6c99a75149e46f861700332d
https://github.com/qemu/qemu/commit/1d60038fc84f2cdb6c99a75149e46f861700332d
Author: Gustavo Romero <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M target/arm/cpu.h
Log Message:
-----------
target/arm: Add a _MAX sentinel to ARMASIdx enum
Add a sentinel to the ARMASIdx enum so it can be used to compute the
total number of address spaces supported by the arch.
Signed-off-by: Gustavo Romero <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Commit: 1280ec826e98342db4e7c35daf7680d09121bde6
https://github.com/qemu/qemu/commit/1280ec826e98342db4e7c35daf7680d09121bde6
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2026-01-22 (Thu, 22 Jan 2026)
Changed paths:
M hw/core/cpu-common.c
M hw/core/cpu-system.c
M include/exec/cpu-common.h
M include/hw/core/cpu.h
M system/cpus.c
M system/physmem.c
M target/arm/cpu.c
M target/i386/cpu.c
M target/i386/kvm/kvm-cpu.c
M target/i386/tcg/system/tcg-cpu.c
Log Message:
-----------
cpus: Allocate maximum number of ASes supported by the arch
Instead of computing the number of address spaces used for a given
architecture, machine, and CPU configuration, simplify the code by
always allocating the maximum number of CPUAddressSpaces supported
by the architecture.
Signed-off-by: Gustavo Romero <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Message-ID: <[email protected]>
Commit: 619c0234c40962d0984739b2636ac14728da64e9
https://github.com/qemu/qemu/commit/619c0234c40962d0984739b2636ac14728da64e9
Author: Richard Henderson <[email protected]>
Date: 2026-01-23 (Fri, 23 Jan 2026)
Changed paths:
M Kconfig
M MAINTAINERS
M audio/audio.c
M block/blklogwrites.c
M block/export/vduse-blk.c
M block/export/vhost-user-blk-server.c
M block/export/virtio-blk-handler.c
M block/parallels-ext.c
M block/qcow2.h
M configs/targets/hexagon-linux-user.mak
M configs/targets/hppa-linux-user.mak
M configs/targets/hppa-softmmu.mak
M configs/targets/loongarch64-linux-user.mak
M configs/targets/loongarch64-softmmu.mak
M configs/targets/or1k-linux-user.mak
M configs/targets/or1k-softmmu.mak
M configs/targets/rx-softmmu.mak
M configs/targets/s390x-linux-user.mak
M configs/targets/s390x-softmmu.mak
M configs/targets/tricore-softmmu.mak
A dump/Kconfig
M dump/meson.build
A dump/win_dump-stubs.c
A dump/win_dump-x86.c
R dump/win_dump.c
M hw/9pfs/9p-local.c
M hw/block/cdrom.c
M hw/block/hd-geometry.c
M hw/core/cpu-common.c
M hw/core/cpu-system.c
M hw/net/can/ctucan_core.c
M hw/nvram/xlnx-efuse.c
M hw/scsi/scsi-generic.c
M hw/sd/sd.c
M hw/sd/ssi-sd.c
M include/accel/tcg/cpu-ldst.h
M include/exec/cpu-common.h
M include/exec/memop.h
M include/exec/translator.h
M include/exec/tswap.h
M include/hw/core/cpu.h
M include/qemu/bswap.h
M include/qemu/host-utils.h
M include/qemu/int128.h
M include/system/memory.h
M include/system/memory_cached.h
M include/system/memory_ldst.h.inc
A include/system/memory_ldst_endian.h.inc
M include/system/memory_ldst_phys.h.inc
A include/system/memory_ldst_phys_endian.h.inc
M linux-user/vm86.c
M net/l2tpv3.c
M qga/commands-linux.c
M scripts/make-config-poison.sh
M scsi/pr-manager-helper.c
M system/cpus.c
M system/memory-internal.h
M system/memory_ldst.c.inc
A system/memory_ldst_endian.c.inc
M system/physmem.c
M target/arm/cpu.c
M target/arm/cpu.h
M target/arm/tcg/arith_helper.c
M target/i386/cpu.c
M target/i386/cpu.h
M target/i386/kvm/kvm-cpu.c
M target/i386/ops_sse.h
M target/i386/tcg/mem_helper.c
M target/i386/tcg/mpx_helper.c
M target/i386/tcg/seg_helper.c
M target/i386/tcg/seg_helper.h
M target/i386/tcg/system/excp_helper.c
M target/i386/tcg/system/svm_helper.c
M target/i386/tcg/system/tcg-cpu.c
M target/m68k/fpu_helper.c
M target/m68k/op_helper.c
M target/ppc/mem_helper.c
M target/riscv/vector_helper.c
M target/sh4/op_helper.c
M target/sparc/ldst_helper.c
M tests/qtest/acpi-utils.c
M tests/qtest/ahci-test.c
M tests/qtest/aspeed-hace-utils.c
M tests/qtest/bios-tables-test.c
M tests/qtest/libqos/ahci.c
M tests/qtest/libqos/generic-pcihost.c
M tests/qtest/libqos/igb.c
M tests/qtest/libqos/pci-spapr.c
M tests/qtest/libqos/virtio-9p-client.c
M tests/qtest/migration/framework.c
M tests/qtest/npcm7xx_emc-test.c
M tests/qtest/tpm-emu.c
M tests/qtest/ufs-test.c
M tests/qtest/vmgenid-test.c
M tests/unit/test-hbitmap.c
M util/bitmap.c
M util/hbitmap.c
Log Message:
-----------
Merge tag 'memory-api-20260122' of https://github.com/philmd/qemu into staging
Memory API patches
- Use explicit endianness for cpu_ld/st_data*() on some targets
- Reduce 'qemu/bswap.h' uses
- Introduce ldm_p/stm_p (MemOp) load/store helpers
- Allow restricting the legacy 'native-endian' APIs
- Forbid various targets to use legacy native endianness APIs
- Simplify cpu_address_space_init() API
# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmlyBsIACgkQ4+MsLN6t
# wN7sIxAAz/2e04lfoX9bbnQeI7SNEEpLwSrmwvLCCcmzSTDc32RSOJHzs6MOYHkm
# ubib6sRW5XFrW+lg0jLTPxKX7LMAgT2QkRw7Du9yQGFfPMhPHqMUqW8w6zYg6EQi
# IkOrvMLN91KR9rvk4Cy68dyE0ypD3224mhSHjza7Y30F9uVglyjCauXo/ifSbGIj
# pRE5VEMcrDEaXaNLZxbiBiGRYV+8fVoGAZikV80EadQnOxqM4frXpemHfncamuKf
# F6jIa9ggclQv9ebgBv06sCWd+KpF54oEtYiiRK1GC2SEFOrnca4Z/e2BXEmR/jTE
# xAkkpBcxLhB+4m9XauoPCPPRJUK3lHSCIVnYgrigzi2p/Xje7dkha+lZUPUHu5Hd
# MlUJ57qs8tPz0IS+wR3q7i6diLZq7YQoy2GS01A/5P/25etDM8TqZ66ft5rZwz4f
# +3USRA9bKOCy9yKef/o9Pfua3ApC8jm/Kjhufmb70n4N+TMaUYgbl0jeKfAnpLTT
# DJ/a1P85CmZojd5jWr0IiT2Nx9eva2Fx2MISJGWI4EfMHE/0JFIcwYHropJuEyGN
# G2X0wrRS2ypjq0hFXSd+vbVTlvuiYj3/lf4l9437iZOz+8Zi5Fp5kDIEtbjVibvf
# ShsDFuDIgMzMGyq2vmn8KWsR3baVMfEI53jaYI1qoXqzK4QGqnQ=
# =98VE
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 22 Jan 2026 10:15:14 PM 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 'memory-api-20260122' of https://github.com/philmd/qemu: (37 commits)
cpus: Allocate maximum number of ASes supported by the arch
target/arm: Add a _MAX sentinel to ARMASIdx enum
target/i386: Add a _MAX sentinel to X86ASIdx enum
target/arm: Initialize AS 0 first
dump: Build stubs once for non-x86 targets
dump: Abort in create_win_dump() on non-x86 guests
configs/targets: Forbid s390x to use legacy native endianness APIs
configs/targets: Forbid Renesas RX to use legacy native endianness API
configs/targets: Forbid TriCore to use legacy native endianness API
configs/targets: Forbid OpenRISC to use legacy native endianness APIs
configs/targets: Forbid LoongArch to use legacy native endianness APIs
configs/targets: Forbid HPPA to use legacy native endianness APIs
configs/targets: Forbid Hexagon to use legacy native endianness API
system: Allow restricting the legacy DEVICE_NATIVE_ENDIAN definition
system: Allow restricting the legacy MO_TE* 'native-endian' definitions
system: Allow restricting the legacy tswap() 'native-endian' API
system: Allow restricting the legacy translator_ld() 'native-endian' API
system: Allow restricting the legacy cpu_ld/st() 'native-endian' API
system: Allow restricting legacy address_space_ldst() native-endian API
system: Allow restricting the legacy ld/st_phys() 'native-endian' API
...
Signed-off-by: Richard Henderson <[email protected]>
Compare: https://github.com/qemu/qemu/compare/2339d0a1cfac...619c0234c409
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications