Can this be queued now?
On Sat, Sep 26, 2026 at 4:15 PM Yonggang Luo <[email protected]> wrote:
>
> 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 v2 -> v3:
> The versioned-machine example in boards.h now follows hw/arm/virt.c.
> machine_class_set_name() keeps the -M name as virt-<version>, the QOM type in
> the example is arm-virt, and the latest helper is
> DEFINE_VIRT_MACHINE_AS_LATEST.
>
> 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 (10):
> 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
> machine: match the versioned virt example to arm virt
>
> 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 | 26 +++++++++++----
> 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, 113 insertions(+), 30 deletions(-)
>
> --
> 2.52.0.windows.1
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo