The comment still showed MACHINE_VER_TYPE_NAME("virt") and left out
machine_class_set_name(). Show the arm-virt QOM type, keep the -M name
as virt-<version>, and name the latest helper
DEFINE_VIRT_MACHINE_AS_LATEST.Signed-off-by: Yonggang Luo <[email protected]> Reviewed-by: Zhao Liu <[email protected]> --- include/hw/core/boards.h | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/include/hw/core/boards.h b/include/hw/core/boards.h index 6e5c8dac2d1..66d530bedf5 100644 --- a/include/hw/core/boards.h +++ b/include/hw/core/boards.h @@ -480,28 +480,37 @@ struct MachineState { * For example, a macro that can be used to define versioned * 'virt' machine types would look like: * + * #define TYPE_VIRT_MACHINE (target_combined_binary() ? \ + * MACHINE_TYPE_NAME("arm-virt") : \ + * MACHINE_TYPE_NAME("virt")) + * * #define DEFINE_VIRT_MACHINE_IMPL(latest, ...) \ * static void MACHINE_VER_SYM(class_init, virt, __VA_ARGS__)( \ * ObjectClass *oc, \ - * void *data) \ + * const void *data) \ * { \ * MachineClass *mc = MACHINE_CLASS(oc); \ * MACHINE_VER_SYM(options, virt, __VA_ARGS__)(mc); \ - * mc->desc = "QEMU " MACHINE_VER_STR(__VA_ARGS__) " Virtual Machine"; \ + * mc->desc = "QEMU " MACHINE_VER_STR(__VA_ARGS__) \ + * " ARM Virtual Machine"; \ * MACHINE_VER_DEPRECATION(__VA_ARGS__); \ + * machine_class_set_name(mc, "virt-" MACHINE_VER_STR(__VA_ARGS__)); \ * if (latest) { \ * mc->alias = "virt"; \ * } \ * } \ - * static const TypeInfo MACHINE_VER_SYM(info, virt, __VA_ARGS__) = { \ - * .name = MACHINE_VER_TYPE_NAME("virt", __VA_ARGS__), \ - * .parent = TYPE_VIRT_MACHINE, \ - * .class_init = MACHINE_VER_SYM(class_init, virt, __VA_ARGS__), \ - * }; \ * static void MACHINE_VER_SYM(register, virt, __VA_ARGS__)(void) \ * { \ + * const TypeInfo virt_machine_info = \ + * { \ + * .name = target_combined_binary() ? \ + * MACHINE_VER_TYPE_NAME("arm-virt", __VA_ARGS__) : \ + * MACHINE_VER_TYPE_NAME("virt", __VA_ARGS__), \ + * .parent = TYPE_VIRT_MACHINE, \ + * .class_init = MACHINE_VER_SYM(class_init, virt, __VA_ARGS__), \ + * }; \ * MACHINE_VER_DELETION(__VA_ARGS__); \ - * type_register_static(&MACHINE_VER_SYM(info, virt, __VA_ARGS__)); \ + * type_register_static(&virt_machine_info); \ * } \ * type_init(MACHINE_VER_SYM(register, virt, __VA_ARGS__)); * @@ -509,7 +518,7 @@ struct MachineState { * whichever scenarios need to be catered for with a machine: * * // Normal 2 digit, marked as latest e.g. 'virt-9.0' - * #define DEFINE_VIRT_MACHINE_LATEST(major, minor) \ + * #define DEFINE_VIRT_MACHINE_AS_LATEST(major, minor) \ * DEFINE_VIRT_MACHINE_IMPL(true, major, minor) * * // Normal 2 digit e.g. 'virt-9.0' -- 2.55.0.windows.3
