qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH-for-10.1 v6 00/14] target-info: Add more API for VirtIO cleanups & introduce ARM macros
@ 2025-07-07 17:19 Philippe Mathieu-Daudé
  2025-07-07 17:19 ` [PATCH-for-10.1 v6 01/14] target/qmp: Use target_cpu_type() Philippe Mathieu-Daudé
                   ` (16 more replies)
  0 siblings, 17 replies; 30+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-07-07 17:19 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, qemu-s390x, qemu-arm, Alex Bennée,
	Pierrick Bouvier, qemu-block, Richard Henderson, qemu-ppc,
	Paolo Bonzini, qemu-riscv, Philippe Mathieu-Daudé

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
  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



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

end of thread, other threads:[~2025-07-09 15:17 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-07 17:19 [RFC PATCH-for-10.1 v6 00/14] target-info: Add more API for VirtIO cleanups & introduce ARM macros Philippe Mathieu-Daudé
2025-07-07 17:19 ` [PATCH-for-10.1 v6 01/14] target/qmp: Use target_cpu_type() Philippe Mathieu-Daudé
2025-07-07 20:05   ` Richard Henderson
2025-07-07 17:19 ` [PATCH-for-10.1 v6 02/14] qemu/target-info: Factor target_arch() out Philippe Mathieu-Daudé
2025-07-07 20:06   ` Richard Henderson
2025-07-09 15:24   ` Zhao Liu
2025-07-07 17:19 ` [PATCH-for-10.1 v6 03/14] qemu/target-info: Add %target_arch field to TargetInfo Philippe Mathieu-Daudé
2025-07-07 17:19 ` [PATCH-for-10.1 v6 04/14] qemu/target-info: Introduce target_base_arch() Philippe Mathieu-Daudé
2025-07-07 17:19 ` [PATCH-for-10.1 v6 05/14] qemu/target-info: Add target_endian_mode() Philippe Mathieu-Daudé
2025-07-07 17:20 ` [PATCH-for-10.1 v6 06/14] qemu: Convert target_words_bigendian() to TargetInfo API Philippe Mathieu-Daudé
2025-07-07 17:20 ` [PATCH-for-10.1 v6 07/14] gdbstub/helpers: Replace TARGET_BIG_ENDIAN -> target_big_endian() Philippe Mathieu-Daudé
2025-07-07 17:20 ` [RFC PATCH-for-10.1 v6 08/14] qemu: Declare all load/store helpert in 'qemu/bswap.h' Philippe Mathieu-Daudé
2025-07-07 17:22   ` Philippe Mathieu-Daudé
2025-07-07 17:20 ` [PATCH-for-10.1 v6 09/14] hw/virtio: Build various files once Philippe Mathieu-Daudé
2025-07-07 19:25   ` BALATON Zoltan
2025-07-08 10:17   ` Philippe Mathieu-Daudé
2025-07-08 12:47     ` Manos Pitsidianakis
2025-07-07 17:20 ` [PATCH-for-10.1 v6 10/14] hw/core/null-machine: Define machine as generic QOM type Philippe Mathieu-Daudé
2025-07-07 22:59   ` Richard Henderson
2025-07-09 15:36   ` Zhao Liu
2025-07-07 17:20 ` [PATCH-for-10.1 v6 11/14] hw/arm: Register TYPE_TARGET_ARM/AARCH64_MACHINE QOM interfaces Philippe Mathieu-Daudé
2025-07-07 17:20 ` [PATCH-for-10.1 v6 12/14] hw/core: Allow ARM/Aarch64 binaries to use the 'none' machine Philippe Mathieu-Daudé
2025-07-07 23:00   ` Richard Henderson
2025-07-07 17:20 ` [PATCH-for-10.1 v6 13/14] hw/boards: Introduce DEFINE_MACHINE_WITH_INTERFACES() macro Philippe Mathieu-Daudé
2025-07-07 17:20 ` [RFC PATCH-for-10.1 v6 14/14] hw/arm: Add DEFINE_MACHINE_[ARM_]AARCH64() macros Philippe Mathieu-Daudé
2025-07-07 17:55 ` [RFC PATCH-for-10.1 v6 00/14] target-info: Add more API for VirtIO cleanups & introduce ARM macros Michael S. Tsirkin
2025-07-08 10:15   ` Alex Bennée
2025-07-08 10:27   ` Philippe Mathieu-Daudé
2025-07-07 19:28 ` BALATON Zoltan
2025-07-08 17:10 ` Philippe Mathieu-Daudé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).