[PATCH 0/8] machine: uniquify virt QOM names

Yonggang Luo posted 8 patches 1 week, 1 day ago
There is a newer version of this series
hw/arm/virt.c               |  3 ++-
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 +-
system/vl.c                 |  8 +++-----
14 files changed, 39 insertions(+), 18 deletions(-)
[PATCH 0/8] machine: uniquify virt QOM names
Posted by Yonggang Luo 1 week, 1 day ago
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.

Yonggang Luo (8):
  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

 hw/arm/virt.c               |  3 ++-
 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 +-
 system/vl.c                 |  8 +++-----
 14 files changed, 39 insertions(+), 18 deletions(-)

-- 
2.52.0.windows.1