hw: skip registration of outdated versioned machine types
This calls the MACHINE_VER_DELETION() macro in the machine type registration method, so that when a versioned machine type reaches the end of its life, it is no longer registered with QOM and thus cannot be used. The actual definition of the machine type should be deleted at this point, but experience shows that can easily be forgotten. By skipping registration the manual code deletion task can be done at any later date. 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-12-berrange@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
8d3122a806
commit
a391eeb129
@ -123,6 +123,7 @@ static void arm_virt_compat_set(MachineClass *mc)
|
||||
}; \
|
||||
static void MACHINE_VER_SYM(register, virt, __VA_ARGS__)(void) \
|
||||
{ \
|
||||
MACHINE_VER_DELETION(__VA_ARGS__); \
|
||||
type_register_static(&MACHINE_VER_SYM(info, virt, __VA_ARGS__)); \
|
||||
} \
|
||||
type_init(MACHINE_VER_SYM(register, virt, __VA_ARGS__));
|
||||
|
@ -356,6 +356,7 @@ type_init(virt_machine_register_types)
|
||||
}; \
|
||||
static void MACHINE_VER_SYM(register, virt, __VA_ARGS__)(void) \
|
||||
{ \
|
||||
MACHINE_VER_DELETION(__VA_ARGS__); \
|
||||
type_register_static(&MACHINE_VER_SYM(info, virt, __VA_ARGS__)); \
|
||||
} \
|
||||
type_init(MACHINE_VER_SYM(register, virt, __VA_ARGS__));
|
||||
|
@ -4824,6 +4824,7 @@ static void spapr_machine_latest_class_options(MachineClass *mc)
|
||||
}; \
|
||||
static void MACHINE_VER_SYM(register, spapr, __VA_ARGS__)(void) \
|
||||
{ \
|
||||
MACHINE_VER_DELETION(__VA_ARGS__); \
|
||||
type_register(&MACHINE_VER_SYM(info, spapr, __VA_ARGS__)); \
|
||||
} \
|
||||
type_init(MACHINE_VER_SYM(register, spapr, __VA_ARGS__))
|
||||
|
@ -847,6 +847,7 @@ static const TypeInfo ccw_machine_info = {
|
||||
}; \
|
||||
static void MACHINE_VER_SYM(register, ccw, __VA_ARGS__)(void) \
|
||||
{ \
|
||||
MACHINE_VER_DELETION(__VA_ARGS__); \
|
||||
type_register_static(&MACHINE_VER_SYM(info, ccw, __VA_ARGS__)); \
|
||||
} \
|
||||
type_init(MACHINE_VER_SYM(register, ccw, __VA_ARGS__))
|
||||
|
@ -340,6 +340,7 @@ extern const size_t pc_compat_2_3_len;
|
||||
}; \
|
||||
static void MACHINE_VER_SYM(register, namesym, __VA_ARGS__)(void) \
|
||||
{ \
|
||||
MACHINE_VER_DELETION(__VA_ARGS__); \
|
||||
type_register(&MACHINE_VER_SYM(info, namesym, __VA_ARGS__)); \
|
||||
} \
|
||||
type_init(MACHINE_VER_SYM(register, namesym, __VA_ARGS__));
|
||||
|
Loading…
Reference in New Issue
Block a user