100 Commits
Author SHA1 Message Date
Richard Henderson d29412cca5 Merge tag 'pull-riscv-to-apply-20261027' of https://github.com/alistair23/qemu into staging
RISC-V PR for 11.2

* Add experimental Zvabd extension support
* Mask vsepc according to IALIGN
* Reset vCPU on VM reset via MP_STATE_INIT_RECEIVED
* Improve modeling of the Atlantis UART
* Fix IOMMU entry leak with ioatc-limit=0
* Fix integer handling issues in k230_gsdma and k230_decomp_gzip
* Reclaim invalidated IOATC entries for IOMMU
* Duct tape fix for QMP and RV profiles introspection
* Move RISC-V 'Z' CPU properties section to removed features
* Use TSO barriers instead of full barriers for Ztso
* Make mnstatus.MNPELP writable with Zicfilp
* Gate envcfg CBO fields on extensions
* Fix stale PMP state across reset
* Use 1ULL for a value we're going to shift by 63
* Remove unused IMISC macro
* Encode debug translation ranges in IOMMU
* Allow regular mstatus MPV/GVA writes again
* Fix uninitialised upper half in pmu_timer_trigger_irq
* Fix CPU state access on big-endian hosts

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEaukCtqfKh31tZZKWr3yVEwxTgBMFAmrgREAACgkQr3yVEwxT
# gBPBHxAAmIzV1LXJAxQTvU46+1j+4+mSvGr37byb1iU8yg+dJCNtYpFLHKdNjF0Q
# Fn+5uBL+QJC3rEA0Xbq6iF4EP2GO8t/Qm4rElLmWCw1xzraj7RAZrNJHWCebLp1j
# PLS53gINaQNIuE6DC91mwcuWanKo7q+tvOiwcShaVyUH771J1+1xVOkpcbkQaVrZ
# a54IfHIcs4TIsKrpmxCJPkEuBcL4VtaK5JwcqbeCQQ68v7L7qQpec75t9idr3o25
# Pn/BOsHwkXoJ1qxFuY61JGhUpFKUzZIqd6HKqwv4SENZY+O87J79R9X/HU9H17xh
# B75+h91ZFSZ2luNd2vZCCMx4vOXuCa+YE/m0ZmyyjJnGLA4LHRoeFRmUUu5Dxzkn
# kP+psnaeUfcI6W71d8Dcqov1g1O7MBdVrQD1hzK8IeAuYL438cLZpo9WT6TVX5cn
# /DRCyDR4f6uzf8Lnh0wItJGzSUlW2xadFLu357KsJ0+lpytpmYolOBxUGJXtJu2g
# BSfgQX9y9xhszCbFopngunu3guOlDoHZEJ9l29+tXicezvJxXw+FRyc4EU3onRtz
# zXGWa7sN4XGifzoDorbVcWGpOT2w2LI1himS4N9qXWNCZ4s115xENMVCMDRt6a9Z
# aZRyBib2nbrrgnO4JJbxBUe/MViBfQlc+AuqMmEwrwdP3LRBbZA=
# =qxZ6
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 27 Oct 2026 01:27:12 AM CDT
# gpg:                using RSA key 6AE902B6A7CA877D6D659296AF7C95130C538013
# gpg: Good signature from "Alistair Francis <alistair@alistair23.me>" [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: 6AE9 02B6 A7CA 877D 6D65  9296 AF7C 9513 0C53 8013

* tag 'pull-riscv-to-apply-20261027' of https://github.com/alistair23/qemu: (29 commits)
  target/riscv: Fix CPU state access on big-endian hosts
  target/riscv: fix uninitialised upper half in pmu_timer_trigger_irq()
  target/riscv/csr.c: allow regular mstatus MPV/GVA writes again
  hw/riscv/riscv-iommu: encode debug translation ranges
  include/hw/intc/riscv_imsic.h: remove unused macro
  target/riscv: Use 1ULL for a value we're going to shift by 63
  target/riscv: pmp: reset the derived PMP bounds and rule count
  target/riscv: pmp: clear A and L on every implemented PMP entry at reset
  target/riscv: gate envcfg CBO fields on extensions
  target/riscv: make mnstatus.MNPELP writable with Zicfilp
  target/riscv: Use TSO barriers instead of full barriers for Ztso
  docs: Move RISC-V 'Z' CPU properties section to removed features
  target/riscv/cpu.c: duct tape fix for QMP + RV profiles introspection
  hw/riscv/riscv-iommu: reclaim invalidated IOATC entries
  hw/riscv/riscv-iommu: serialize IOATC accesses
  hw/dma: fix k230_gsdma integer handling issues
  qtest: fix k230_decomp_gzip test integer handling issues
  hw/misc: use hwaddr for the k230_decomp_gzip input address
  hw/misc: fix calculating input address overflow in k230_decomp_gzip
  hw/misc: fix calculating output address overflow in k230_decomp_gzip
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-27 14:27:13 -05:00
Richard Henderson 284dc6d036 Merge tag 's390x-20261026' of https://gitlab.com/efarman/qemu into staging
s390x fixes/features for 11.2:
 - Implement resizable vt220 console
 - Deprecate dependencies of deprecated features
 - Reclaim DMA slots during, for example, guest reboot
 - MAINTAINERS updates

# -----BEGIN PGP SIGNATURE-----
#
# iIsEABYKADMWIQQB3Dhbwk4ZE3uUN6KmTx4R4Fx3tAUCat9bfhUcZmFybWFuQGxp
# bnV4LmlibS5jb20ACgkQpk8eEeBcd7S3cAD/TgRQLU3bVmRldeDwAJIca3EG1O1m
# tAJ+uLxcGTBgeY8BANYOrWc3WU+oez472RyUamEkmEnM+xjrt1Wd5amO3eoI
# =6GYD
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 26 Oct 2026 08:54:06 AM CDT
# gpg:                using EDDSA key 01DC385BC24E19137B9437A2A64F1E11E05C77B4
# gpg:                issuer "farman@linux.ibm.com"
# gpg: Good signature from "Eric Farman <farman@linux.ibm.com>" [unknown]
# gpg: WARNING: The key's User ID is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: D2C6 0504 C9E8 F568 CFE5  87B5 3827 B212 71BF 9562
#      Subkey fingerprint: 01DC 385B C24E 1913 7B94  37A2 A64F 1E11 E05C 77B4

* tag 's390x-20261026' of https://gitlab.com/efarman/qemu:
  MAINTAINERS: Update s390 boot reviewer
  MAINTAINERS: Add other s390x tree
  s390x/pci: reclaim DMA slots upon IOMMU disable
  s390x/sclpconsole: implement resizing for vt220 consoles
  target/s390x: mark feats dependent on deprecated feats as deprecated
  target/s390x: externalize feat dependency array

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-27 14:26:53 -05:00
Richard Henderson 9b77fa7a4f Merge tag 'pull-hex-20261027' of https://github.com/qualcomm/qemu into staging
hexagon: v85, DSP machines, singlestep, bugfixes

- v85 scalar: atomics, CFI/_rb, vector stack
- new DSP machines: SM8975 NSP, SA8797P NSP0, SC8480XP NSP0, SA8775P CDSP0,
QCS6490 CDSP.
- bugfixes:
    - coverity, ubsan findings in semihosting, decoder
    - handling framekey w/dealloc_return
- handle singlestep exception
- performance improvements: TLB flush, l2vic
- test coverage
- MTTCG fixes: enabling MTTCG exposed races in lock/interrupts and ciad.

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEPWaq5HRZSCTIjOD4GlSvuOVkbDIFAmrgtXAACgkQGlSvuOVk
# bDKC0A//WTrd7fSFsLP2wGMbsRrXgfOl+xa4B0aqi3agQrH8Q4Gk3f0JbJILi0QJ
# nRPyOkTDYbqQdvA7u2uJ2qZSZlaaPNJK5M9QPI43MSPrxF7hapvuSjympHXa9fpB
# Uy+opBzlx2/d7AlVnYe6m6eYVRtyiVgnskS56au4RtHkie+PL9kahsvtXkJbd2ci
# riAzVr1Swcd+uHDxHdn/9OkD1z1Ym1BIJsezTDdsX+HDx/rTR9REDMOG5DPU3tSe
# jaj+TmO3wtO/OtmZIHnKwPEQQJJuvfyNgIyN2hIFTSG/CSXZmZA8wG1G7bzk8+fr
# lHcC9+Kz7wsfaDOnoYtP/Kox3QkCSH759mSLblSJB1SRIfl0FxxIAGdr7c65wQYH
# Kt8qT15rDI3mdTs/IVcBkN62pKPXjuwjwTlR7dzi81DPk8LtxUDw68hIWVXqsNsl
# brOk9bbLgwmIAwt+tTL2D7gysNGD/pekWNA52V3bVBHgM/Mi54VSr76nP25WiaJX
# lWfbVdANpUWmvrec0y5f/sQSK89TF6INu2kkke5/+XlbCfVV4/ZJIpZP5Us1hTyS
# sV4anuskTN6jQM1ro5zvP5BCfNpnWTSZu+PEpyxmPNSpesSzxzFtkSx1SiEKEe53
# zgOAeP9tNsnFSSVTrm5ddZawiVpS53AnNYq4y5Eb64uUEdottCg=
# =+PH4
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 27 Oct 2026 09:30:08 AM CDT
# gpg:                using RSA key 3D66AAE474594824C88CE0F81A54AFB8E5646C32
# gpg: Good signature from "Brian Cain (OSS Qualcomm) <brian.cain@oss.qualcomm.com>" [unknown]
# gpg:                 aka "Brian Cain (QUIC) <quic_bcain@quicinc.com>" [unknown]
# gpg:                 aka "Brian Cain <bcain@kernel.org>" [unknown]
# gpg:                 aka "Brian Cain (QuIC) <bcain@quicinc.com>" [unknown]
# gpg:                 aka "Brian Cain (CAF) <bcain@codeaurora.org>" [unknown]
# gpg:                 aka "bcain" [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: 6350 20F9 67A7 7164 79EF  49E0 175C 464E 541B 6D47
#      Subkey fingerprint: 3D66 AAE4 7459 4824 C88C  E0F8 1A54 AFB8 E564 6C32

* tag 'pull-hex-20261027' of https://github.com/qualcomm/qemu: (42 commits)
  scripts/clean_functional_cache: tolerate missing .stamp files
  hw/intc/hex-l2vic: find the next pending irq a word at a time
  target/hexagon: only flush the softtlb when SSR.ASID changes
  target/hexagon: flush the softtlb once per tlbinvasid
  target/hexagon: avoid negative slot shift
  target/hexagon: reset implicit USR write state
  target/hexagon: assert qfloat shift
  hw/intc: ciad should forward its mask to l2vic
  target/hexagon: drop a pending HALT when resuming
  target/hexagon: check exception_index in has_work
  target/hexagon: acquire BQL before reading interrupt state
  tests/functional/hexagon: boot DSP firmware
  hw/hexagon: add subsystem-base property
  hw/hexagon: serialize config table as little endian
  hw/hexagon: add v79NA1 machine
  hw/hexagon: add the SM8975 NSP machine
  hw/hexagon: add the SA8797P NSP0 machine
  hw/hexagon: add the SC8480XP NSP0 machine
  hw/hexagon: add the SA8775P CDSP machine
  hw/hexagon: add the QCS6490 CDSP machine
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-27 11:41:22 -05:00
Richard Henderson ab2e62917c Merge tag 'pull-tcg-20261025' of https://gitlab.com/rth7680/qemu into staging
tcg: Generic expansion of integer opcodes.
tcg: Annontate functions with QEMU_*_NONNULL

# -----BEGIN PGP SIGNATURE-----
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmrdrUUdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV94cwf/TIqi1eLGIahM5hMc
# cfA9qRrVUiTt+cEcGolcsHAkrThzURLb+gXsSsnzo+GZ6RUkBuo9cclWZAhPyQo6
# LC7V1cWe8J7+0MKoN8Rk3sOQv2wYhzr2Ybj0Q3QGTlJy+TqpncCcyysbiJOO9eiu
# +9Wqc9sM1hXcGfSr+CCdAgdWQIOl8OggYl7K3tZ2FgQyFD3fsNDjcPLsZJuuK4C+
# PY9pc4ih0ZYfXceZ7OL31edXA43gZSqETLCYoJ18WHgyZGUeRObVdbiktV9GGf6V
# INYQ8sVn+OJyBjqCpO1V7nobzIIACXw3Nzehrzkj7KgvoLwqCgPuJhjXASQfqoXL
# Fyw/RA==
# =vukX
# -----END PGP SIGNATURE-----
# gpg: Signature made Sun 25 Oct 2026 02:18:29 AM CDT
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [ultimate]

* tag 'pull-tcg-20261025' of https://gitlab.com/rth7680/qemu: (100 commits)
  tcg: Annontate functions in tcg-op-common.h with QEMU_*_NONNULL
  tcg: Generic expansion of remaining atomic operations
  tcg: Generic expansion of tcg_gen_{non}atomic_cmpxchg_chk
  tcg: Generic expansion of tcg_gen_qemu_st_chk
  tcg: Generic expansion of tcg_gen_qemu_ld_chk
  tcg: Generic expansion of tcg_gen_dup_*
  tcg: Generic expansion of tcg_gen_st16_*
  tcg: Generic expansion of tcg_gen_st8_*
  tcg: Generic expansion of tcg_gen_st_*
  tcg: Generic expansion of tcg_gen_ld16u_*
  tcg: Generic expansion of tcg_gen_ld16s_*
  tcg: Generic expansion of tcg_gen_ld8u_*
  tcg: Generic expansion of tcg_gen_ld8s_*
  tcg: Generic expansion of tcg_gen_ld_*
  tcg: Generic expansion of tcg_gen_revbit8_*
  tcg: Split out tcg_gen_bitswap
  tcg: Generic expansion of tcg_gen_bswap16_*
  tcg: Use unsigned for flags for bswap and revbit operations
  tcg: Generic expansion of tcg_gen_muls2_*
  tcg: Generic expansion of tcg_gen_mulu2_*
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-27 09:22:37 -05:00
Richard Henderson 2c0584588c Merge tag 'pbouvier/pr/multi_target-20261024' of https://gitlab.com/p-b-o/qemu into staging
Changes:
- [PATCH v2 00/11] multi-target: prefix helpers with target prefix (Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>)
  Link: https://lore.kernel.org/qemu-devel/20261024163249.77855-1-pierrick.bouvier@oss.qualcomm.com
- [PATCH v3 0/9] multi-target: add riscv64-softmmu (Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>)
  Link: https://lore.kernel.org/qemu-devel/20261024061616.27381-1-pierrick.bouvier@oss.qualcomm.com

# -----BEGIN PGP SIGNATURE-----
#
# iQGzBAABCgAdFiEEN8FWlNi6l2Sxlz/btEQ30ZwoYt8FAmrc7KoACgkQtEQ30Zwo
# Yt9AtQv/emGY3zTTlV+hBUs1wktL5RS75ODu3q2xw+GLmF/lj93PBcxy1ExOtIQl
# 77TU/FHZdGHK4fRRJkqigo5YJmR+zaghjbPydyNQca6EOLvIWvkmIXnPRP1AaxDz
# e2cXzVfvazXUpJDrt47nxY8869lWXTDXpzQ55PpgXEHxfNQSbG/PzZWV6ZHujM/t
# c08PR7kZjlu10bAUCGX4OUVV0LBpAzdV2vxg1Vs2vhJv93B2wo3AfCOHv8oAYgrQ
# ZZFCJY/hWHAOJQy5zHdWcfoOOO0X65gJhV9/hQPs0bTn0pbPZI+p7z58o8S4rjm3
# 9mU680pevHqvURTe07Fu9uYx6d2lAN7h8Y7mwnMEE94wOqOBIQSiebzVttRyDTQ1
# E8XzOvnqBbW7JegSzJzn8LnDme0Ee92+TgQT4pRxJXqr89D+14tGqj8riu0+oojI
# DTUdEvyyqN7E0InvobmOrLtp+qfR+O/emEKmGBqbNNV2qSQV40vFInTLV2BTsK7/
# 7rRkf9St
# =CRFI
# -----END PGP SIGNATURE-----
# gpg: Signature made Sat 24 Oct 2026 12:36:42 PM CDT
# gpg:                using RSA key 37C15694D8BA9764B1973FDBB44437D19C2862DF
# gpg: Good signature from "Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>" [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: 37C1 5694 D8BA 9764 B197  3FDB B444 37D1 9C28 62DF

* tag 'pbouvier/pr/multi_target-20261024' of https://gitlab.com/p-b-o/qemu:
  meson.build: list all remaining softmmu targets as comments
  meson.build: add riscv64-softmmu to multi-target
  target/riscv/kvm: restrict kvm-accel-riscv-cpu to riscv targets
  target/riscv/tcg: restrict tcg-accel-riscv-cpu to riscv targets
  target/riscv: rename virt_acpi_setup to riscv_virt_acpi_setup
  hw/riscv/virt: restrict scope of virt_is_acpi_enabled to this file
  test/unit/multi-target: check QOM types can be initialized with any target
  hw/riscv/virt: make machine available for riscv targets only
  target-info: add target_base_riscv
  target/tricore: remove explicit target specific prefix
  target/rx: remove explicit target specific prefix
  target/or1k: remove explicit target specific prefix
  target/microblaze: remove explicit target specific prefix
  target/hppa: remove explicit target specific prefix
  target/hexagon: remove explicit target specific prefix
  target/alpha: remove explicit target specific prefix
  tcg: prefix helpers with target base architecture
  target/sparc: define crypto helpers using HELPER macro
  tcg: introduce HELPER_INFO macro
  target/rx: define and call helpers using HELPER macro

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-27 06:08:01 -05:00
Richard Henderson 0509b1a380 tcg: Annontate functions in tcg-op-common.h with QEMU_*_NONNULL
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson b31e9a2db8 tcg: Generic expansion of remaining atomic operations
These are done in bulk because of existing macro magic.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 8a2313f326 tcg: Generic expansion of tcg_gen_{non}atomic_cmpxchg_chk
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson a00ef50183 tcg: Generic expansion of tcg_gen_qemu_st_chk
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 24b8015d1d tcg: Generic expansion of tcg_gen_qemu_ld_chk
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson ca022e34bf tcg: Generic expansion of tcg_gen_dup_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson b89a08121b tcg: Generic expansion of tcg_gen_st16_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 0fd2ffd3af tcg: Generic expansion of tcg_gen_st8_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson ef2cdac07e tcg: Generic expansion of tcg_gen_st_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 3fd20a9abe tcg: Generic expansion of tcg_gen_ld16u_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 49691576ca tcg: Generic expansion of tcg_gen_ld16s_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson e2d970b1aa tcg: Generic expansion of tcg_gen_ld8u_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson f03310fc06 tcg: Generic expansion of tcg_gen_ld8s_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson ef5e519e7e tcg: Generic expansion of tcg_gen_ld_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 416f1fed56 tcg: Generic expansion of tcg_gen_revbit8_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 237f2ea7ce tcg: Split out tcg_gen_bitswap
We'll need this for other generic expansions.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson f8a92c6b1a tcg: Generic expansion of tcg_gen_bswap16_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 432eb35603 tcg: Use unsigned for flags for bswap and revbit operations
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 3c2209d80a tcg: Generic expansion of tcg_gen_muls2_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 7d91f6eeb4 tcg: Generic expansion of tcg_gen_mulu2_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 10ee47ecdb tcg: Generic expansion of tcg_gen_sub2_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 399f89b652 tcg: Generic expansion of tcg_gen_add2_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson c844d3dcd4 tcg: Generic expansion of tcg_gen_addcio_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 26c0f7cce7 tcg: Generic expansion of tcg_gen_extract2_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 76499fb445 tcg: Use umax in ussub if available
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson c86fbb6b2a tcg: Generic expansion of tcg_gen_ussub_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 41caf1d042 tcg: Generic expansion of tcg_gen_abs_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 6889e598a3 tcg: Generic expansion of tcg_gen_umax_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 2fd3f2a9f2 tcg: Generic expansion of tcg_gen_umin_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson f58aa8dd76 tcg: Generic expansion of tcg_gen_smax_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson f3c4bd5017 tcg: Generic expansion of tcg_gen_smin_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson b7aae66197 tcg: Generic expansion of tcg_gen_ext_*
Move from tcg-op-ldst.c and compute the width of the
extract instead of using a switch.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 3ea03e7ddf tcg: Generic expansion of tcg_gen_ext16u_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 6ceeb8b5db tcg: Generic expansion of tcg_gen_ext16s_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 69f6f2a469 tcg: Generic expansion of tcg_gen_ext8u_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson ae54f6875b tcg: Generic expansion of tcg_gen_ext8s_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson f0c8ae63d6 tcg: Generic expansion of tcg_gen_deposit_z_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 16caeb636e tcg: Generic expansion of tcg_gen_sextract_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 01892810b3 tcg: Generic expansion of tcg_gen_extract_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson c151faeae1 tcg: Generic expansion of tcg_gen_deposit_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson dc2cc97388 tcg: Generic expansion of tcg_gen_rotli_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 27029f9ef8 tcg: Generic expansion of tcg_gen_rotri_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 0f74f88633 tcg: Generic expansion of tcg_gen_rotr_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson c3ff29531e tcg: Generic expansion of tcg_gen_rotl_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 45af10a141 tcg: Generic expansion of tcg_gen_clrsb_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson 6c9f35556b tcg: Generic expansion of tcg_gen_ctzi_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:50 +02:00
Richard Henderson ab30182de3 tcg: Generic expansion of tcg_gen_ctz_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 03ee481403 tcg: Generic expansion of tcg_gen_ctpop_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson f8e3d7b9d0 tcg: Generic expansion of tcg_gen_clzi_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson fa2d2ceb90 tcg: Use signed integer for tcg_gen_{clz,ctz}i_{i32,i64}
We use signed integers for all other functions, and the
sign of the second source is not meaningful here.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 9f1966003c tcg: Generic expansion of tcg_gen_clz_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 5f5a65f9a8 tcg: Convert ext/trunc from TCGv_ptr to the new interfaces
Drop the casting and ifdefs, relying on the host being 64-bit.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 3baf579664 tcg: Split out tcg_gen_ext{rl,rh,s,u}
We'll need these for other generic expansions.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 808d3d9b81 tcg: Generic expansion of tcg_gen_movcond_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 4666e2a960 tcg: Generic expansion of tcg_gen_negsetcondi_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 229a672254 tcg: Generic expansion of tcg_gen_negsetcond_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 0d6590d612 tcg: Generic expansion of tcg_gen_setcondi_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 309f2b6fe6 tcg: Generic expansion of tcg_gen_setcond_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson b569a8216a tcg: Generic expansion of tcg_gen_brcondi_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson e996c0d2da tcg: Generic expansion of tcg_gen_brcond_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 0323b7ff47 tcg: Generic expansion of tcg_gen_orc_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 31dd2d3f3f tcg: Generic expansion of tcg_gen_nor_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 3c985f5c88 tcg: Generic expansion of tcg_gen_nand_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson fde6350602 tcg: Generic expansion of tcg_gen_eqv_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 8e919c456b tcg: Generic expansion of tcg_gen_andc_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson e2517ba174 tcg: Generic expansion of tcg_gen_remu_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 2e17910cc0 tcg: Generic expansion of tcg_gen_divu_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 04ab234084 tcg: Generic expansion of tcg_gen_rem_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson ede15210e2 tcg: Generic expansion of tcg_gen_div_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson a494622b62 tcg: Drop division helpers
All current tcg hosts support division, so the helpers
are no longer used.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 00294d5d24 tcg: Generic expansion of tcg_gen_not_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 26d2bfef14 tcg: Generic expansion of tcg_gen_muli_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson bf9e1084b3 tcg: Generic expansion of tcg_gen_xori_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 8ee6ac4f15 tcg: Generic expansion of tcg_gen_ori_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson f006d49585 tcg: Generic expansion of tcg_gen_andi_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson f6768f7606 tcg: Generic expansion of tcg_gen_sari_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 815b429847 tcg: Generic expansion of tcg_gen_shri_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 463a033bac tcg: Generic expansion of tcg_gen_shli_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 94045c3eb3 tcg: Generic expansion of tcg_gen_mul_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 1ad5e12156 tcg: Generic expansion of tcg_gen_sar_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 2af698a031 tcg: Generic expansion of tcg_gen_shr_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson d38e13ab92 tcg: Generic expansion of tcg_gen_shl_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson d3f7242e9d tcg: Generic expansion of tcg_gen_xor_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson fd6c3b90dd tcg: Generic expansion of tcg_gen_or_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 4a5942711d tcg: Generic expansion of tcg_gen_and_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson da71a90660 tcg: Generic expansion of tcg_gen_subfi_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 3336852097 tcg: Generic expansion of tcg_gen_neg_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson c86a4fdc41 tcg: Generic expansion of tcg_gen_subi_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 4fbff4e78a tcg: Generic expansion of tcg_gen_sub_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 1eea7a9e59 tcg: Generic expansion of tcg_gen_addi_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 9e9459949a tcg: Generic expansion of tcg_gen_add_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 3ea37aa000 tcg: Generic expansion of tcg_gen_discard_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson a44bb3e764 tcg: Generic expansion of tcg_gen_movi_*
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson 278bfd0160 tcg: Generic expansion of tcg_gen_mov_*
Begin sharing code in the expansion of operations
for various TCG types.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00
Richard Henderson bd10150356 tcg: Enforce sign-extension for TCG_TYPE_I32 in tcg_constant_internal
Prepare for more direct uses of tcg_constant_internal, where
canonicalization of 32-bit constants is not already assured.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2026-10-24 17:14:49 +02:00