[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 03/22] hw/arm: convert 'virt' machine definitions to use new macro
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 03/22] hw/arm: convert 'virt' machine definitions to use new macros |
Date: |
Tue, 2 Jul 2024 07:00:53 +0200 |
From: Daniel P. Berrangé <berrange@redhat.com>
This changes the DEFINE_VIRT_MACHINE macro to use the common
helpers for constructing versioned symbol names and strings,
bringing greater consistency across targets.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240620165742.1711389-3-berrange@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/arm/virt.c | 32 +++++++++++++++++---------------
1 file changed, 17 insertions(+), 15 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 0784ee7f46..08990b9abe 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -101,33 +101,35 @@ static void arm_virt_compat_set(MachineClass *mc)
arm_virt_compat_len);
}
-#define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \
- static void virt_##major##_##minor##_class_init(ObjectClass *oc, \
- void *data) \
+#define DEFINE_VIRT_MACHINE_IMPL(latest, ...) \
+ static void MACHINE_VER_SYM(class_init, virt, __VA_ARGS__)( \
+ ObjectClass *oc, \
+ void *data) \
{ \
MachineClass *mc = MACHINE_CLASS(oc); \
arm_virt_compat_set(mc); \
- virt_machine_##major##_##minor##_options(mc); \
- mc->desc = "QEMU " # major "." # minor " ARM Virtual Machine"; \
+ MACHINE_VER_SYM(options, virt, __VA_ARGS__)(mc); \
+ mc->desc = "QEMU " MACHINE_VER_STR(__VA_ARGS__) " ARM Virtual
Machine"; \
if (latest) { \
mc->alias = "virt"; \
} \
} \
- static const TypeInfo machvirt_##major##_##minor##_info = { \
- .name = MACHINE_TYPE_NAME("virt-" # major "." # minor), \
- .parent = TYPE_VIRT_MACHINE, \
- .class_init = virt_##major##_##minor##_class_init, \
- }; \
- static void machvirt_machine_##major##_##minor##_init(void) \
+ static const TypeInfo MACHINE_VER_SYM(info, virt, __VA_ARGS__) = \
{ \
- type_register_static(&machvirt_##major##_##minor##_info); \
+ .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) \
+ { \
+ type_register_static(&MACHINE_VER_SYM(info, virt, __VA_ARGS__)); \
} \
- type_init(machvirt_machine_##major##_##minor##_init);
+ type_init(MACHINE_VER_SYM(register, virt, __VA_ARGS__));
#define DEFINE_VIRT_MACHINE_AS_LATEST(major, minor) \
- DEFINE_VIRT_MACHINE_LATEST(major, minor, true)
+ DEFINE_VIRT_MACHINE_IMPL(true, major, minor)
#define DEFINE_VIRT_MACHINE(major, minor) \
- DEFINE_VIRT_MACHINE_LATEST(major, minor, false)
+ DEFINE_VIRT_MACHINE_IMPL(false, major, minor)
/* Number of external interrupt lines to configure the GIC with */
--
2.41.0
- [PULL 00/22] Misc HW patches for 2024-07-02, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 01/22] hw/net/spapr: prevent potential NULL dereference, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 02/22] include/hw: add helpers for defining versioned machine types, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 04/22] hw/s390x: convert 'ccw' machine definitions to use new macros, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 05/22] hw/ppc: convert 'spapr' machine definitions to use new macros, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 06/22] hw/m68k: convert 'virt' machine definitions to use new macros, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 03/22] hw/arm: convert 'virt' machine definitions to use new macros,
Philippe Mathieu-Daudé <=
- [PULL 07/22] hw/i386: convert 'i440fx' machine definitions to use new macros, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 08/22] hw/i386: convert 'q35' machine definitions to use new macros, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 09/22] include/hw: add macros for deprecation & removal of versioned machines, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 10/22] include/hw: temporarily disable deletion of versioned machine types, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 11/22] hw: set deprecation info for all versioned machine types, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 12/22] hw: skip registration of outdated versioned machine types, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 13/22] hw/ppc: remove obsolete manual deprecation reason string of spapr machines, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 14/22] hw/i386: remove obsolete manual deprecation reason string of i440fx machines, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 15/22] docs: document special exception for machine type deprecation & removal, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 16/22] system/physmem: Fix reference to dump-guest-core, Philippe Mathieu-Daudé, 2024/07/02