On Mon, Jul 07, 2025 at 07:19:54PM +0200, 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.


I think I'd prefer to defer cleanups to post 10.1 - already
too much on my plate as I was out sick. Unless there's a reason
I'm missing to rush this in? Is there a feature we want in
10.1 that depends on it?

> 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
>   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
> 
>  meson.build                           |  1 +
>  include/exec/tswap.h                  | 83 +--------------------------
>  include/gdbstub/helpers.h             | 15 ++---
>  include/hw/arm/machines-qom.h         | 31 ++++++++++
>  include/hw/boards.h                   |  6 +-
>  include/qemu/bswap.h                  | 73 +++++++++++++++++++++++
>  include/qemu/target-info-impl.h       |  8 ++-
>  include/qemu/target-info-qapi.h       | 36 ++++++++++++
>  include/qemu/target-info.h            | 10 +++-
>  include/system/memory.h               |  1 -
>  include/user/abitypes.h               |  1 -
>  target/ppc/mmu-hash64.h               |  2 -
>  cpu-target.c                          |  7 ---
>  hw/acpi/bios-linker-loader.c          |  2 -
>  hw/arm/allwinner-r40.c                |  1 -
>  hw/arm/boot.c                         |  2 +
>  hw/arm/npcm7xx.c                      |  2 +-
>  hw/block/hd-geometry.c                |  1 -
>  hw/char/riscv_htif.c                  |  1 -
>  hw/core/cpu-system.c                  |  2 +-
>  hw/core/machine-qmp-cmds.c            |  8 +--
>  hw/core/null-machine.c                | 20 ++++++-
>  hw/cxl/cxl-events.c                   |  2 -
>  hw/display/artist.c                   |  1 +
>  hw/display/ati.c                      |  1 +
>  hw/display/vga.c                      |  2 +-
>  hw/net/can/ctucan_core.c              |  1 -
>  hw/net/lan9118.c                      |  1 +
>  hw/net/rtl8139.c                      |  1 +
>  hw/net/vmxnet3.c                      |  1 -
>  hw/pci-host/gt64120.c                 |  1 +
>  hw/pci-host/pnv_phb3.c                |  1 +
>  hw/pci-host/pnv_phb4.c                |  1 +
>  hw/pci-host/ppce500.c                 |  1 -
>  hw/pci-host/sh_pci.c                  |  1 -
>  hw/s390x/s390-pci-inst.c              |  1 +
>  hw/sensor/lsm303dlhc_mag.c            |  1 -
>  hw/smbios/smbios.c                    |  1 +
>  hw/vfio/migration-multifd.c           |  1 -
>  hw/virtio/virtio-config-io.c          |  1 -
>  hw/virtio/virtio-pci.c                |  1 +
>  hw/virtio/virtio.c                    |  2 +-
>  hw/vmapple/virtio-blk.c               |  1 -
>  system/memory.c                       |  1 +
>  system/qtest.c                        |  1 +
>  target-info-qom.c                     | 24 ++++++++
>  target-info-stub.c                    |  3 +
>  target-info.c                         | 33 +++++++++++
>  target/arm/arm-qmp-cmds.c             |  3 +-
>  target/arm/cpu.c                      |  1 -
>  target/arm/machine.c                  | 12 ++++
>  target/i386/tcg/system/excp_helper.c  |  1 -
>  target/i386/xsave_helper.c            |  1 -
>  target/loongarch/loongarch-qmp-cmds.c |  3 +-
>  target/mips/system/mips-qmp-cmds.c    |  3 +-
>  target/riscv/vector_helper.c          |  1 -
>  tests/tcg/plugins/mem.c               |  1 +
>  hw/block/meson.build                  |  6 +-
>  hw/virtio/meson.build                 | 20 ++++---
>  59 files changed, 302 insertions(+), 149 deletions(-)
>  create mode 100644 include/hw/arm/machines-qom.h
>  create mode 100644 include/qemu/target-info-qapi.h
>  create mode 100644 target-info-qom.c
> 
> -- 
> 2.49.0


Reply via email to