All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/55] single-binary: link multi-targets into qemu-system
@ 2026-09-26  6:59 Yonggang Luo
  2026-09-26  7:00 ` [PATCH v4 01/55] target-info: Introduce target_riscv32 Yonggang Luo
                   ` (54 more replies)
  0 siblings, 55 replies; 94+ messages in thread
From: Yonggang Luo @ 2026-09-26  6:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Richard Henderson, Philippe Mathieu-Daudé,
	Daniel P. Berrangé, Edgar E. Iglesias, Pierrick Bouvier,
	Fabiano Rosas, Laurent Vivier, Paolo Bonzini, Alistair Francis,
	Peter Maydell, Marc-André Lureau, qemu-arm, kvm

This series produces one qemu-system binary that can run ARM (32 and 64) and
MicroBlaze. Upstream filters machines with TypeInfo.is_available. This series
passes a TargetInfo into that callback and compiles ARM and MicroBlaze once so
they can share qemu-system.

ARM virt keeps the QOM name virt. MicroBlaze boards keep their own names, so
TYPE_ACCEL_CPU and the virt ACPI helpers stay per target. aarch64 and arm share
one copy of the ARM sources. MicroBlaze is folded the same way. qemu-system
links a target only when its arch sources are target-info-def.c alone. Machine
is_available accepts ARM-family boards for arm and aarch64, aarch64-only boards
for aarch64, and MicroBlaze boards for microblaze.

target_ulong and TCG _tl helpers:

arm and microblaze are 32-bit and aarch64 is 64-bit, so the shared compile uses
a uint64_t target_ulong in softmmu common code. MO_TL follows
target_long_bits(). target_long stays per-target. tcg_gen_*_tl and the TL memory
helpers call the i32 or i64 operation through tl_is_64(). A helper tl argument
uses an i64 slot in common code: tcg_gen_callN zero-extends a 32-bit temp into
that slot and truncates an i64 return. Per-target builds keep target_ulong and
TCGv tied to TARGET_LONG_BITS.

Target selection has to work with more than one TargetInfo:

- The combined binary takes arch:name on -M/-machine and in a [machine] type
  (aarch64:virt). arch: binds the target. microblaze: runs that target's
  default machine. arm and aarch64 have no default. No -M leaves target none
  and the empty none machine. qemu-system-$arch keeps the historic -M name.
  -M help lists every target; arch:help lists one. A later bare name keeps the
  last arch prefix. query-targets lists each linked target, including none.
- TargetInfo is a constructor list. target_info_select() picks the entry,
  including SYS_EMU_TARGET_NONE. is_available takes const TargetInfo *. A
  single-target binary keeps its TargetInfo. arch: must match that binary or
  the machine is rejected. That binary drops types that fail is_available at
  registration. The combined binary keeps those types and filters with
  is_available for the selected target.

Peter Maydell suggested this arch:name form in review of
https://patchwork.ozlabs.org/project/qemu-devel/cover/20260828225901.367438-1-pierrick.bouvier@oss.qualcomm.com/#3749257

Daniel P. Berrange asked to query every machine in the binary and which targets
can run it. This series adds query-targets for that:
https://patchwork.ozlabs.org/project/qemu-devel/cover/20260828225901.367438-1-pierrick.bouvier@oss.qualcomm.com/#3749292

qemu-system-$TARGET is still built, including the Windows *w twin. qemu-system
is extra. It links aarch64, arm, and microblaze. Do not add qemu-systemw for
that binary. A GUI twin would keep QEMU exporting data from the .exe into
DLLs, and those data exports cannot be delay-loaded (qdev_prop_array and other
qdev_prop_*). That would block enabling modules globally on Windows.

Examples:

  qemu-system -M aarch64:virt ...
  qemu-system -M microblaze:petalogix-s3adsp1800 ...
  qemu-system-aarch64 -M virt ...

A bare machine name on qemu-system needs an arch: prefix. An unknown target
fails with "target '...' is not available".

v1: https://patchew.org/QEMU/20260823150731.896-1-luoyonggang@gmail.com/
v2: https://patchew.org/QEMU/20260826184229.1145-1-luoyonggang@gmail.com/
v3: https://patchew.org/QEMU/20260923131635.1894-1-luoyonggang@gmail.com/
branch: https://gitlab.com/lygstate-qemu/qemu/-/tree/single-binary-arm-riscv?ref_type=heads
x86_64 and i386: https://gitlab.com/lygstate-qemu/qemu/-/tree/combined-binary-multi-targets?ref_type=heads

Changes v3 -> v4:

v4 keeps arch:name selection, target none, and query-targets. qemu-system links
ARM and MicroBlaze only.

- Limit the combined binary to aarch64, arm, and microblaze. RISC-V stays on
  qemu-system-riscv32 and qemu-system-riscv64. Remove the target/riscv and
  hw/riscv compile-once patches and the RISC-V TARGET_LONG_BITS rewrites.
- Drop virt QOM prefixes, MachineInfo typename, the shared TYPE_ACCEL_CPU
  parent, virt ACPI prefixes, and the RISC-V crc32, crc32c, and wfi helper
  renames. Those names are already unique for ARM and MicroBlaze.
- Drop TargetCpuOps, AccelClass is_available, the move of kvm and whpx onto
  system_ss, and TargetInfo-gated migration fields.
- The combined binary registers every machine and filters with is_available
  for the selected target. v3 skipped that filter while the target was none.

v4 builds without these series:

  [PATCH v2 0/9] machine: uniquify virt QOM names
  https://patchew.org/QEMU/20260922215533.641-1-luoyonggang@gmail.com/
  [PATCH 00/21] accel/tcg: share raise_excp across TCG targets
  https://patchew.org/QEMU/20260918004225.827-1-luoyonggang@gmail.com/
  [PATCH v5 00/11] single-binary: Compile hw/riscv once
  https://patchew.org/QEMU/20260918-hw-riscv-cpu-int-v5-0-f98c5a244636@rev.ng/

Anton Johansson via qemu development (1):
  target-info: Introduce target_riscv32

Pierrick Bouvier (2):
  configs/targets: remove target info definitions
  target-info: rename target-info-stub.c in target-info-def.c

Yonggang Luo (52):
  target-info: rename target-info-impl.h to target-info-def.h
  vl: parse early options before target-info init
  target-info: replace QOM registration with a constructor list
  tests/unit: add test-target-info
  tests/qtest: prepare machine-list-test for combined qemu-system
  kconfig: rename REGISTER to HW_REGISTER
  target-info: add TargetKconfig
  target-info: add target_is_* helpers for each architecture
  target-info: add target_is_any()
  qom: pass TargetInfo to is_available for latter use
  target/arm: move kvm_arm_set_cpreg_mig_tolerances to kvm.c
  target/arm: allow -cpu host with Nitro
  target/arm: gate -cpu host with TypeIsAvailable
  target/arm: replace target_long in A64 translate
  target/arm: use vaddr for the A64 insn_start pc
  tests/qtest: raise aspeed_smc-test timeout to 12 minutes
  target-info: add tl_is_64() and target_is_tl32/64 helpers
  tcg: declare TCGv in tcg.h
  tcg: dispatch TL memory helpers from tcg-op-mem.h
  tcg: dispatch tcg_gen_*_tl without TARGET_LONG_BITS
  tcg: dispatch tcg_gen_gvec_dup_tl at runtime
  tcg: give common-system helper tl an i64 slot
  accel/tcg: move helper_exit_atomic next to cpu_loop_exit_atomic
  tcg: move dup_const into tcg.c
  tcg: move goto_tb helpers into tcg-op-ldst.c
  accel/tcg: move gvec helpers into tcg-runtime-gvec.h
  accel/tcg: move helper_lookup_tb_ptr into cpu-exec.h
  accel/tcg: move memory helpers out of tcg-runtime.h
  tests/unit: cover common-system tl dispatch and calls
  target/arm: fix A64 guest address width at 64
  target/arm: pass tl temps into SVE and SME helpers
  exec: provide target_ulong for softmmu common code
  exec: compile abi_ptr.h without per-target cpu-param.h
  accel/tcg: keep cpu-ldst endian aliases per-target
  target/arm: fold arm_ss into common source sets
  target/microblaze: fold system sources into common source sets
  meson: link shared objects into qemu-system
  target-info: add SysEmuTarget none
  module: load every arch-tagged module when target is none
  accel/tcg: tolerate NULL target_cpu_type for -M none
  target-info: select combined qemu-system target by name
  vl: parse arch: machine types on combined qemu-system
  qapi: add query-targets
  target-info: add target_is_microblaze
  hw/microblaze: set petalogix-s3adsp1800 TypeInfo.is_available
  hw/microblaze: expand petalogix-ml605 and xlnx-zynqmp-pmu to TypeInfo
  hw/arm: expand leftover 32-bit DEFINE_MACHINE to TypeInfo
  hw/arm: expand imx8mm-evk DEFINE_MACHINE to TypeInfo
  hw/arm: set virt TypeInfo.is_available
  hw/arm: set remaining 32-bit machine TypeInfo.is_available
  hw/arm: set aarch64-only machine TypeInfo.is_available
  tests/qtest: cover combined qemu-system machines

 accel/tcg/atomic_common.c.inc                 |   4 +
 accel/tcg/atomic_common.h                     |  70 ++
 accel/tcg/cpu-exec-common.c                   |  10 +
 accel/tcg/cpu-exec-common.h                   |   1 +
 accel/tcg/cpu-exec.c                          |   5 +
 accel/tcg/cpu-exec.h                          |   1 +
 accel/tcg/ldst_common.c.inc                   |   4 +
 accel/tcg/ldst_common.h                       |  13 +
 accel/tcg/meson.build                         |   2 +-
 accel/tcg/tcg-all.c                           |   9 +-
 accel/tcg/tcg-runtime-gvec.c                  |   3 +
 .../tcg/{tcg-runtime.h => tcg-runtime-gvec.h} | 111 ---
 accel/tcg/tcg-runtime.c                       |   8 -
 accel/tcg/tcg-runtime.h                       | 293 ------
 configs/targets/aarch64-softmmu.c             |  25 -
 configs/targets/arm-softmmu.c                 |  25 -
 configs/targets/meson.build                   |   6 -
 configs/targets/riscv32-softmmu.c             |  24 -
 configs/targets/riscv64-softmmu.c             |  24 -
 hw/Kconfig                                    |   2 +-
 hw/arm/aspeed_ast1040_evb.c                   |   1 +
 hw/arm/aspeed_ast10x0_evb.c                   |   2 +
 hw/arm/aspeed_ast2400_palmetto.c              |   1 +
 hw/arm/aspeed_ast2400_quanta-q71l.c           |   1 +
 hw/arm/aspeed_ast2400_supermicrox11.c         |   1 +
 hw/arm/aspeed_ast2500_evb.c                   |   1 +
 hw/arm/aspeed_ast2500_g220a.c                 |   1 +
 hw/arm/aspeed_ast2500_romulus.c               |   1 +
 hw/arm/aspeed_ast2500_supermicro-x11spi.c     |   1 +
 hw/arm/aspeed_ast2500_tiogapass.c             |   1 +
 hw/arm/aspeed_ast2500_witherspoon.c           |   1 +
 hw/arm/aspeed_ast2500_yosemitev2.c            |   1 +
 hw/arm/aspeed_ast2600_anacapa.c               |   1 +
 hw/arm/aspeed_ast2600_bletchley.c             |   1 +
 hw/arm/aspeed_ast2600_catalina.c              |   1 +
 hw/arm/aspeed_ast2600_evb.c                   |   1 +
 hw/arm/aspeed_ast2600_fby35.c                 |   1 +
 hw/arm/aspeed_ast2600_fuji.c                  |   1 +
 hw/arm/aspeed_ast2600_gb200nvl.c              |   1 +
 hw/arm/aspeed_ast2600_rainier.c               |   1 +
 hw/arm/aspeed_ast2600_sanmiguel.c             |   1 +
 hw/arm/aspeed_ast27x0-fc.c                    |   2 +-
 hw/arm/aspeed_ast27x0_evb.c                   |   4 +-
 hw/arm/ax3000-evk.c                           |   1 +
 hw/arm/b-l475e-iot01a.c                       |   1 +
 hw/arm/bananapi_m2u.c                         |  22 +-
 hw/arm/collie.c                               |   1 +
 hw/arm/cubieboard.c                           |  23 +-
 hw/arm/digic_boards.c                         |  19 +-
 hw/arm/exynos4_boards.c                       |   2 +
 hw/arm/imx25_pdk.c                            |  19 +-
 hw/arm/imx8mm-evk.c                           |  23 +-
 hw/arm/imx8mp-evk.c                           |   1 +
 hw/arm/integratorcp.c                         |  23 +-
 hw/arm/kzm.c                                  |  19 +-
 hw/arm/max78000fthr.c                         |  19 +-
 hw/arm/mcimx6ul-evk.c                         |  19 +-
 hw/arm/mcimx7d-sabre.c                        |  23 +-
 hw/arm/microbit.c                             |   1 +
 hw/arm/mps2-tz.c                              |   5 +
 hw/arm/mps2.c                                 |   4 +
 hw/arm/mps3r.c                                |   1 +
 hw/arm/msf2-som.c                             |  19 +-
 hw/arm/musca.c                                |   2 +
 hw/arm/netduino2.c                            |  19 +-
 hw/arm/netduinoplus2.c                        |  19 +-
 hw/arm/npcm7xx_boards.c                       |   5 +
 hw/arm/npcm8xx_boards.c                       |   1 +
 hw/arm/olimex-stm32-h405.c                    |  19 +-
 hw/arm/omap_sx1.c                             |   2 +
 hw/arm/orangepi.c                             |  23 +-
 hw/arm/raspi.c                                |   7 +-
 hw/arm/raspi4b.c                              |   2 +-
 hw/arm/realview.c                             |   4 +
 hw/arm/sabrelite.c                            |   1 +
 hw/arm/sbsa-ref.c                             |   1 +
 hw/arm/stellaris.c                            |   2 +
 hw/arm/stm32vldiscovery.c                     |  19 +-
 hw/arm/versatilepb.c                          |   2 +
 hw/arm/vexpress.c                             |   2 +
 hw/arm/virt.c                                 |   1 +
 hw/arm/xen-pvh.c                              |   1 +
 hw/arm/xilinx_zynq.c                          |   1 +
 hw/arm/xlnx-versal-virt.c                     |   2 +
 hw/arm/xlnx-zcu102.c                          |   1 +
 hw/core/Kconfig                               |   2 +-
 hw/core/machine-qmp-cmds.c                    |  30 +
 hw/core/meson.build                           |   2 +-
 hw/dma/Kconfig                                |   4 +-
 hw/i2c/Kconfig                                |   2 +-
 hw/microblaze/petalogix_ml605_mmu.c           |  19 +-
 hw/microblaze/petalogix_s3adsp1800_mmu.c      |   1 +
 hw/microblaze/xlnx-zynqmp-pmu.c               |  19 +-
 hw/usb/Kconfig                                |   2 +-
 include/accel/tcg/cpu-ldst.h                  |   4 +-
 include/exec/abi_ptr.h                        |   7 +-
 include/exec/helper-gen-common.h              |  20 +
 include/exec/helper-head.h.inc                |  21 +-
 include/exec/helper-proto-common.h            |  20 +
 include/exec/target_long.h                    |  11 +
 include/qemu/config-file.h                    |   2 +
 include/qemu/module.h                         |   1 -
 include/qemu/target-info-def.h                |  90 ++
 include/qemu/target-info-impl.h               |  42 -
 include/qemu/target-info-init.h               |  53 --
 include/qemu/target-info-qom.h                |  30 -
 include/qemu/target-info-select.h             |  24 +
 include/qemu/target-info.h                    | 174 +++-
 include/qemu/target-kconfig-has.h             |   7 +
 include/qemu/target-kconfig.h                 |  34 +
 include/qom/object.h                          |  26 +-
 include/tcg/tcg-op-gvec.h                     |  21 +-
 include/tcg/tcg-op-mem.h                      | 114 ++-
 include/tcg/tcg-op-tl.h                       | 568 ++++++++++++
 include/tcg/tcg-op.h                          | 291 +-----
 include/tcg/tcg.h                             |  73 +-
 meson.build                                   | 233 ++++-
 page-vary-common.c                            |   2 +-
 page-vary-system.c                            |   2 +-
 qapi/machine.json                             |  48 +-
 qemu-options.hx                               |  11 +-
 qom/object.c                                  |  20 +-
 scripts/gen-target-kconfig.py                 | 162 ++++
 stubs/meson.build                             |   1 +
 stubs/target-info-select.c                    |  14 +
 system/target-info-select.c                   |  26 +
 system/vl.c                                   | 312 ++++++-
 target-info-stub.c => target-info-def.c       |   9 +-
 target-info-qom.c                             |  55 --
 target-info.c                                 | 180 +++-
 target-kconfig.c                              |  20 +
 target/arm/cpu.c                              |   6 +-
 target/arm/cpu.h                              |   1 +
 target/arm/cpu64.c                            |  80 +-
 target/arm/hvf/hvf-stub.c                     |  14 +
 target/arm/hvf/meson.build                    |   1 +
 target/arm/kvm-stub.c                         |   5 +
 target/arm/kvm.c                              |  36 +
 target/arm/kvm_arm.h                          |   9 +
 target/arm/meson.build                        |   4 +-
 target/arm/tcg/translate-a64.c                |   6 +-
 target/arm/tcg/translate-a64.h                |   3 +
 target/arm/tcg/translate-sme.c                |   5 +-
 target/arm/tcg/translate-sve.c                |  18 +-
 target/arm/whpx/whpx-stub.c                   |   5 +
 target/microblaze/meson.build                 |   2 +-
 target/none/cpu-param.h                       |   7 +
 target/none/cpu-qom.h                         |   6 +
 target/none/cpu.h                             |  18 +
 tcg/meson.build                               |   9 +-
 tcg/tcg-op-gvec.c                             |  17 -
 tcg/tcg-op-ldst.c                             |  31 +
 tcg/tcg-op.c                                  |  32 -
 tcg/tcg.c                                     |  52 +-
 tests/qtest/fuzz/fuzz.c                       |   3 -
 .../qtest/machine-list-combined-targets.h.in  |   4 +
 tests/qtest/machine-list-combined-test.c      | 104 +++
 tests/qtest/machine-list-test.c               |  94 ++
 tests/qtest/machine-list-test.inc.h           | 876 ++++++++++++++++++
 tests/qtest/machine-option-test.c             | 714 ++++++++++++++
 tests/qtest/meson.build                       |  41 +-
 tests/unit/meson.build                        |  35 +
 tests/unit/test-helper-tl.c                   |  20 +
 tests/unit/test-helper-tl.h                   |  25 +
 tests/unit/test-helper-tl32.c                 |  27 +
 tests/unit/test-helper-tl64.c                 |  27 +
 tests/unit/test-target-info.c                 |  38 +
 tests/unit/test-target-kconfig-has.c          |  22 +
 tests/unit/test-tcg-call-tl-stubs.c           |  45 +
 tests/unit/test-tcg-call-tl.c                 | 280 ++++++
 tests/unit/test-tcg-op-dispatch.h             | 203 ++++
 tests/unit/test-tcg-op-mem-config32.h         |   2 +
 tests/unit/test-tcg-op-mem-config64.h         |   2 +
 tests/unit/test-tcg-op-mem-tl32.c             |  26 +
 tests/unit/test-tcg-op-mem-tl64.c             |  26 +
 tests/unit/test-tcg-op-mem-va32-tl64.c        |  35 +
 tests/unit/test-tcg-op-mem.c                  |  51 +
 tests/unit/test-tcg-op-tl32.c                 |  24 +
 tests/unit/test-tcg-op-tl64.c                 |  24 +
 tests/unit/test-tcg-op.c                      |  66 ++
 util/module.c                                 |   4 +-
 util/qemu-config.c                            |  10 +-
 182 files changed, 5772 insertions(+), 1281 deletions(-)
 create mode 100644 accel/tcg/atomic_common.h
 create mode 100644 accel/tcg/cpu-exec-common.h
 create mode 100644 accel/tcg/cpu-exec.h
 create mode 100644 accel/tcg/ldst_common.h
 copy accel/tcg/{tcg-runtime.h => tcg-runtime-gvec.h} (70%)
 delete mode 100644 configs/targets/aarch64-softmmu.c
 delete mode 100644 configs/targets/arm-softmmu.c
 delete mode 100644 configs/targets/meson.build
 delete mode 100644 configs/targets/riscv32-softmmu.c
 delete mode 100644 configs/targets/riscv64-softmmu.c
 create mode 100644 include/qemu/target-info-def.h
 delete mode 100644 include/qemu/target-info-impl.h
 delete mode 100644 include/qemu/target-info-init.h
 delete mode 100644 include/qemu/target-info-qom.h
 create mode 100644 include/qemu/target-info-select.h
 create mode 100644 include/qemu/target-kconfig-has.h
 create mode 100644 include/qemu/target-kconfig.h
 create mode 100644 include/tcg/tcg-op-tl.h
 create mode 100644 scripts/gen-target-kconfig.py
 create mode 100644 stubs/target-info-select.c
 create mode 100644 system/target-info-select.c
 rename target-info-stub.c => target-info-def.c (88%)
 delete mode 100644 target-info-qom.c
 create mode 100644 target-kconfig.c
 create mode 100644 target/arm/hvf/hvf-stub.c
 create mode 100644 target/none/cpu-param.h
 create mode 100644 target/none/cpu-qom.h
 create mode 100644 target/none/cpu.h
 create mode 100644 tests/qtest/machine-list-combined-targets.h.in
 create mode 100644 tests/qtest/machine-list-combined-test.c
 create mode 100644 tests/qtest/machine-list-test.c
 create mode 100644 tests/qtest/machine-list-test.inc.h
 create mode 100644 tests/qtest/machine-option-test.c
 create mode 100644 tests/unit/test-helper-tl.c
 create mode 100644 tests/unit/test-helper-tl.h
 create mode 100644 tests/unit/test-helper-tl32.c
 create mode 100644 tests/unit/test-helper-tl64.c
 create mode 100644 tests/unit/test-target-info.c
 create mode 100644 tests/unit/test-target-kconfig-has.c
 create mode 100644 tests/unit/test-tcg-call-tl-stubs.c
 create mode 100644 tests/unit/test-tcg-call-tl.c
 create mode 100644 tests/unit/test-tcg-op-dispatch.h
 create mode 100644 tests/unit/test-tcg-op-mem-config32.h
 create mode 100644 tests/unit/test-tcg-op-mem-config64.h
 create mode 100644 tests/unit/test-tcg-op-mem-tl32.c
 create mode 100644 tests/unit/test-tcg-op-mem-tl64.c
 create mode 100644 tests/unit/test-tcg-op-mem-va32-tl64.c
 create mode 100644 tests/unit/test-tcg-op-mem.c
 create mode 100644 tests/unit/test-tcg-op-tl32.c
 create mode 100644 tests/unit/test-tcg-op-tl64.c
 create mode 100644 tests/unit/test-tcg-op.c

-- 
2.52.0.windows.1


^ permalink raw reply	[flat|nested] 94+ messages in thread

end of thread, other threads:[~2026-09-29  1:36 UTC | newest]

Thread overview: 94+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-26  6:59 [PATCH v4 00/55] single-binary: link multi-targets into qemu-system Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 01/55] target-info: Introduce target_riscv32 Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 02/55] configs/targets: remove target info definitions Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 03/55] target-info: rename target-info-stub.c in target-info-def.c Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 04/55] target-info: rename target-info-impl.h to target-info-def.h Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 05/55] vl: parse early options before target-info init Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 06/55] target-info: replace QOM registration with a constructor list Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 07/55] tests/unit: add test-target-info Yonggang Luo
2026-09-28  9:07   ` Markus Armbruster
2026-09-28  9:21     ` Yonggang Luo
2026-09-28  9:43       ` Daniel P. Berrangé
2026-09-28  9:52         ` Yonggang Luo
2026-09-28  9:48       ` Markus Armbruster
2026-09-26  7:00 ` [PATCH v4 08/55] tests/qtest: prepare machine-list-test for combined qemu-system Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 09/55] kconfig: rename REGISTER to HW_REGISTER Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 10/55] target-info: add TargetKconfig Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 11/55] target-info: add target_is_* helpers for each architecture Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 12/55] target-info: add target_is_any() Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 13/55] qom: pass TargetInfo to is_available for latter use Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 14/55] target/arm: move kvm_arm_set_cpreg_mig_tolerances to kvm.c Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 15/55] target/arm: allow -cpu host with Nitro Yonggang Luo
2026-09-28 10:06   ` Philippe Mathieu-Daudé
2026-09-26  7:00 ` [PATCH v4 16/55] target/arm: gate -cpu host with TypeIsAvailable Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 17/55] target/arm: replace target_long in A64 translate Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 18/55] target/arm: use vaddr for the A64 insn_start pc Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 19/55] tests/qtest: raise aspeed_smc-test timeout to 12 minutes Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 20/55] target-info: add tl_is_64() and target_is_tl32/64 helpers Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 21/55] tcg: declare TCGv in tcg.h Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 22/55] tcg: dispatch TL memory helpers from tcg-op-mem.h Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 23/55] tcg: dispatch tcg_gen_*_tl without TARGET_LONG_BITS Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 24/55] tcg: dispatch tcg_gen_gvec_dup_tl at runtime Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 25/55] tcg: give common-system helper tl an i64 slot Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 26/55] accel/tcg: move helper_exit_atomic next to cpu_loop_exit_atomic Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 27/55] tcg: move dup_const into tcg.c Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 28/55] tcg: move goto_tb helpers into tcg-op-ldst.c Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 29/55] accel/tcg: move gvec helpers into tcg-runtime-gvec.h Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 30/55] accel/tcg: move helper_lookup_tb_ptr into cpu-exec.h Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 31/55] accel/tcg: move memory helpers out of tcg-runtime.h Yonggang Luo
2026-09-28 10:40   ` Markus Armbruster
2026-09-28 11:15     ` Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 32/55] tests/unit: cover common-system tl dispatch and calls Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 33/55] target/arm: fix A64 guest address width at 64 Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 34/55] target/arm: pass tl temps into SVE and SME helpers Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 35/55] exec: provide target_ulong for softmmu common code Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 36/55] exec: compile abi_ptr.h without per-target cpu-param.h Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 37/55] accel/tcg: keep cpu-ldst endian aliases per-target Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 38/55] target/arm: fold arm_ss into common source sets Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 39/55] target/microblaze: fold system sources " Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 40/55] meson: link shared objects into qemu-system Yonggang Luo
2026-09-28 11:41   ` Markus Armbruster
2026-09-28 11:47     ` Daniel P. Berrangé
2026-09-28 12:23       ` Markus Armbruster
2026-09-28 12:07     ` Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 41/55] target-info: add SysEmuTarget none Yonggang Luo
2026-09-28 11:47   ` Markus Armbruster
2026-09-28 12:04     ` Yonggang Luo
2026-09-28 12:17       ` Markus Armbruster
2026-09-28 12:20         ` Yonggang Luo
2026-09-28 12:24           ` Markus Armbruster
2026-09-26  7:00 ` [PATCH v4 42/55] module: load every arch-tagged module when target is none Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 43/55] accel/tcg: tolerate NULL target_cpu_type for -M none Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 44/55] target-info: select combined qemu-system target by name Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 45/55] vl: parse arch: machine types on combined qemu-system Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 46/55] qapi: add query-targets Yonggang Luo
2026-09-28 10:13   ` Daniel P. Berrangé
2026-09-28 10:39     ` Philippe Mathieu-Daudé
2026-09-28 10:51       ` Yonggang Luo
2026-09-28 10:57         ` Daniel P. Berrangé
2026-09-28 11:29           ` Philippe Mathieu-Daudé
2026-09-28 11:36             ` Daniel P. Berrangé
2026-09-28 11:39               ` Yonggang Luo
2026-09-28 11:34         ` Philippe Mathieu-Daudé
2026-09-28 11:38           ` Yonggang Luo
2026-09-28 18:32           ` Yonggang Luo
2026-09-28 18:50           ` Yonggang Luo
2026-09-28 18:34       ` Yonggang Luo
2026-09-28 19:11         ` Philippe Mathieu-Daudé
2026-09-28 19:18           ` Yonggang Luo
2026-09-29  1:36           ` Yonggang Luo
2026-09-28 12:03     ` Markus Armbruster
2026-09-28 12:08       ` Daniel P. Berrangé
2026-09-28 12:09       ` Yonggang Luo
2026-09-28 14:24     ` Yonggang Luo
2026-09-28 14:37       ` Daniel P. Berrangé
2026-09-28 16:05         ` Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 47/55] target-info: add target_is_microblaze Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 48/55] hw/microblaze: set petalogix-s3adsp1800 TypeInfo.is_available Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 49/55] hw/microblaze: expand petalogix-ml605 and xlnx-zynqmp-pmu to TypeInfo Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 50/55] hw/arm: expand leftover 32-bit DEFINE_MACHINE " Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 51/55] hw/arm: expand imx8mm-evk " Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 52/55] hw/arm: set virt TypeInfo.is_available Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 53/55] hw/arm: set remaining 32-bit machine TypeInfo.is_available Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 54/55] hw/arm: set aarch64-only " Yonggang Luo
2026-09-26  7:00 ` [PATCH v4 55/55] tests/qtest: cover combined qemu-system machines Yonggang Luo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.