[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 12/22] hw: skip registration of outdated versioned machine types
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 12/22] hw: skip registration of outdated versioned machine types |
Date: |
Tue, 2 Jul 2024 07:01:02 +0200 |
From: Daniel P. Berrangé <berrange@redhat.com>
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>
---
include/hw/i386/pc.h | 1 +
hw/arm/virt.c | 1 +
hw/m68k/virt.c | 1 +
hw/ppc/spapr.c | 1 +
hw/s390x/s390-virtio-ccw.c | 1 +
5 files changed, 5 insertions(+)
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 83d2e66498..4e55d7ef6e 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -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__));
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 02e13b4a3d..b0c68d66a3 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 55268489d3..044e6a8d9d 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -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__))
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index c25dc3e13f..336cb8c6d4 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -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__))
--
2.41.0
- [PULL 02/22] include/hw: add helpers for defining versioned machine types, (continued)
- [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é, 2024/07/02
- [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é <=
- [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
- [PULL 17/22] hw/ide/macio: switch from using qemu_allocate_irq() to qdev input GPIOs, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 18/22] hvf: Drop ifdef for macOS versions older than 12.0, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 19/22] audio: Drop ifdef for macOS versions older than 12.0, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 20/22] block/file-posix: Drop ifdef for macOS versions older than 12.0, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 21/22] net/vmnet: Drop ifdef for macOS versions older than 12.0, Philippe Mathieu-Daudé, 2024/07/02
- [PULL 22/22] Remove inclusion of hw/hw.h from files that don't need it, Philippe Mathieu-Daudé, 2024/07/02