All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/9] machine: uniquify virt QOM names
@ 2026-09-22 21:55 Yonggang Luo
  2026-09-22 21:55 ` [PATCH v2 1/9] machine: allow -M name to differ from QOM type Yonggang Luo
                   ` (8 more replies)
  0 siblings, 9 replies; 22+ messages in thread
From: Yonggang Luo @ 2026-09-22 21:55 UTC (permalink / raw)
  To: qemu-devel
  Cc: Philippe Mathieu-Daudé, Bibo Mao, Xianglai Li,
	Laurent Vivier, Palmer Dabbelt, Chao Liu, qemu-arm,
	Alistair Francis, Laurent Vivier, Pierrick Bouvier, Weiwei Li,
	Daniel Henrique Barboza, Zhao Liu, Peter Maydell, Fabiano Rosas,
	Song Gao, Markus Armbruster, Liu Zhiwei, qemu-riscv,
	Stafford Horne, Brian Cain, Jiaxun Yang, Max Filippov,
	Philippe Mathieu-Daude, Daniel P. Berrangé, Paolo Bonzini,
	Eric Blake

Multiple targets register a virt board as MACHINE_TYPE_NAME("virt").
Those QOM types collide if more than one board is linked into one
qemu-system process. This series splits the QOM type from the -M name
so each virt board can keep a unique type while -M virt, help, and
migration stay the same.

- Add machine_class_set_name() so boards can set MachineClass::name
  when it must differ from the QOM type. machine_class_base_init still
  defaults the name to the QOM type without -machine. Document that
  MachineClass::name is the -M name, not the QOM type. Sort -M help
  by that name so order matches the printed names after types are
  prefixed (arm-virt-11.1-machine vs virt-11.1).
- Give each colliding virt board a unique QOM type and keep the
  existing -M name via machine_class_set_name(): riscv-virt, arm-virt,
  or1k-virt, hexagon-virt, loongarch-virt, m68k-virt, and xtensa-virt.
  Versioned ARM, LoongArch, and M68K boards keep virt-<ver>. Latest
  ARM virt still sets mc->alias to virt.
- query-machines returns MachineInfo typename, the QOM type from
  object_class_get_name(), for qom-list-properties. The -M name alone
  is not that type once virt boards are prefixed.

Changes v1 -> v2:
- query-machines returns MachineInfo typename. v1 returned only the
  -M name, so a client that appended "-machine" looked up the wrong
  type for a prefixed board such as arm-virt-11.1-machine versus
  -M virt-11.1.

Yonggang Luo (9):
  machine: allow -M name to differ from QOM type
  hw/riscv/virt: use unique QOM name
  hw/arm/virt: use unique QOM name
  hw/or1k/virt: use unique QOM name
  hw/hexagon/virt: use unique QOM name
  hw/loongarch/virt: use unique QOM name
  hw/m68k/virt: use unique QOM name
  hw/xtensa/virt: use unique QOM name
  qapi: return MachineInfo typename from query-machines

 hw/arm/virt.c               |  3 +-
 hw/core/machine-qmp-cmds.c  |  1 +
 hw/core/machine.c           |  6 ++++
 hw/hexagon/virt.c           |  1 +
 hw/loongarch/virt.c         |  3 +-
 hw/m68k/virt.c              |  7 ++--
 hw/or1k/virt.c              |  3 +-
 hw/riscv/virt.c             |  3 +-
 hw/xtensa/virt.c            |  3 +-
 include/hw/arm/virt.h       |  2 +-
 include/hw/core/boards.h    | 12 ++++++-
 include/hw/hexagon/virt.h   |  2 +-
 include/hw/loongarch/virt.h |  2 +-
 include/hw/riscv/virt.h     |  2 +-
 qapi/machine.json           |  6 +++-
 system/vl.c                 |  8 ++---
 tests/qtest/qom-test.c      | 65 +++++++++++++++++++++++++++++++++----
 17 files changed, 104 insertions(+), 25 deletions(-)

-- 
2.52.0.windows.1



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

end of thread, other threads:[~2026-09-23 11:00 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-22 21:55 [PATCH v2 0/9] machine: uniquify virt QOM names Yonggang Luo
2026-09-22 21:55 ` [PATCH v2 1/9] machine: allow -M name to differ from QOM type Yonggang Luo
2026-09-23  5:01   ` Pierrick Bouvier
2026-09-23  5:56     ` Yonggang Luo
2026-09-23 10:56   ` marcandre.lureau
2026-09-22 21:55 ` [PATCH v2 2/9] hw/riscv/virt: use unique QOM name Yonggang Luo
2026-09-23 10:56   ` marcandre.lureau
2026-09-22 21:55 ` [PATCH v2 3/9] hw/arm/virt: " Yonggang Luo
2026-09-23 10:56   ` marcandre.lureau
2026-09-22 21:55 ` [PATCH v2 4/9] hw/or1k/virt: " Yonggang Luo
2026-09-23 10:56   ` marcandre.lureau
2026-09-22 21:55 ` [PATCH v2 5/9] hw/hexagon/virt: " Yonggang Luo
2026-09-23 10:56   ` marcandre.lureau
2026-09-22 21:55 ` [PATCH v2 6/9] hw/loongarch/virt: " Yonggang Luo
2026-09-23 10:56   ` marcandre.lureau
2026-09-22 21:55 ` [PATCH v2 7/9] hw/m68k/virt: " Yonggang Luo
2026-09-23 10:56   ` marcandre.lureau
2026-09-22 21:55 ` [PATCH v2 8/9] hw/xtensa/virt: " Yonggang Luo
2026-09-23 10:56   ` marcandre.lureau
2026-09-22 21:55 ` [PATCH v2 9/9] qapi: return MachineInfo typename from query-machines Yonggang Luo
2026-09-23  8:33   ` Daniel P. Berrangé
2026-09-23 10:56   ` marcandre.lureau

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.