[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 11/14] hw: skip registration of outdated versioned machine types
From: |
Daniel P . Berrangé |
Subject: |
[PATCH 11/14] hw: skip registration of outdated versioned machine types |
Date: |
Wed, 1 May 2024 19:27:56 +0100 |
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.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
hw/arm/virt.c | 1 +
hw/m68k/virt.c | 1 +
hw/ppc/spapr.c | 1 +
hw/s390x/s390-virtio-ccw.c | 1 +
include/hw/i386/pc.h | 1 +
5 files changed, 5 insertions(+)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index e2e10523a3..0786f82da6 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -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__));
diff --git a/hw/m68k/virt.c b/hw/m68k/virt.c
index 37bb36b385..cda199af8f 100644
--- a/hw/m68k/virt.c
+++ b/hw/m68k/virt.c
@@ -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__));
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 7f5412f2ed..2aad99a2f2 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4808,6 +4808,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__))
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 289a687434..723021f644 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -862,6 +862,7 @@ bool css_migration_enabled(void)
}; \
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__))
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index acc17c7dac..a605f223d5 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -337,6 +337,7 @@ extern const size_t pc_compat_2_0_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__));
--
2.43.0
- [PATCH 08/14] include/hw: add macros for deprecation & removal of versioned machines, (continued)
- [PATCH 08/14] include/hw: add macros for deprecation & removal of versioned machines, Daniel P . Berrangé, 2024/05/01
- [PATCH 09/14] hw: temporarily disable deletion of versioned machine types, Daniel P . Berrangé, 2024/05/01
- [PATCH 10/14] hw: set deprecation info for all versioned machine types, Daniel P . Berrangé, 2024/05/01
- [PATCH 12/14] hw/ppc: remove obsolete manual deprecation reason string of spapr machines, Daniel P . Berrangé, 2024/05/01
- [PATCH 11/14] hw: skip registration of outdated versioned machine types,
Daniel P . Berrangé <=
- [PATCH 13/14] hw/i386: remove obsolete manual deprecation reason string of i440fx machines, Daniel P . Berrangé, 2024/05/01
- [PATCH 14/14] docs: document special exception for machine type deprecation & removal, Daniel P . Berrangé, 2024/05/01
- Re: [PATCH 00/14] hw: define and enforce a standard lifecycle for versioned machines, Cédric Le Goater, 2024/05/03
- Re: [PATCH 00/14] hw: define and enforce a standard lifecycle for versioned machines, Peter Maydell, 2024/05/03