On 7/7/25 19:19, Philippe Mathieu-Daudé wrote:
Rather than re-spinning the whole "single-binary: Make hw/arm/
common" series, restrict to the API additions, but include
examples of their usefulness (hundreds of virtio objects
removed from default Linux build).
Time passed since I context-switched out of this work so I'm
not sure the DEFINE_MACHINE_WITH_INTERFACES() implementation
is in the form Zoltan asked.
Philippe Mathieu-Daudé (14):
target/qmp: Use target_cpu_type()
qemu/target-info: Factor target_arch() out
qemu/target-info: Add %target_arch field to TargetInfo
qemu/target-info: Introduce target_base_arch()
qemu/target-info: Add target_endian_mode()
qemu: Convert target_words_bigendian() to TargetInfo API
gdbstub/helpers: Replace TARGET_BIG_ENDIAN -> target_big_endian()
qemu: Declare all load/store helpert in 'qemu/bswap.h'
hw/virtio: Build various files once
Sorry, I cut this branch incorrectly, I should have posted only up
to here, as the rest isn't required. I'll respin for clarity.
hw/core/null-machine: Define machine as generic QOM type
hw/arm: Register TYPE_TARGET_ARM/AARCH64_MACHINE QOM interfaces
hw/core: Allow ARM/Aarch64 binaries to use the 'none' machine
hw/boards: Introduce DEFINE_MACHINE_WITH_INTERFACES() macro
hw/arm: Add DEFINE_MACHINE_[ARM_]AARCH64() macros