[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 01/10] hw/sparc/sun4m: Have sun4m machines inherit new TYPE_SUN4M_
From: |
Mark Cave-Ayland |
Subject: |
[PULL 01/10] hw/sparc/sun4m: Have sun4m machines inherit new TYPE_SUN4M_MACHINE |
Date: |
Wed, 5 May 2021 08:35:29 +0100 |
From: Philippe Mathieu-Daudé <f4bug@amsat.org>
Introduce the TYPE_SUN4M_MACHINE and have all sun4m
machines inherit it.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-Id: <20210503171303.822501-2-f4bug@amsat.org>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
---
hw/sparc/sun4m.c | 30 +++++++++++++++++++++---------
1 file changed, 21 insertions(+), 9 deletions(-)
diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
index 1a00816d9a..9d07fa43d6 100644
--- a/hw/sparc/sun4m.c
+++ b/hw/sparc/sun4m.c
@@ -107,6 +107,8 @@ struct sun4m_hwdef {
uint8_t nvram_machine_id;
};
+#define TYPE_SUN4M_MACHINE MACHINE_TYPE_NAME("sun4m-common")
+
const char *fw_cfg_arch_key_name(uint16_t key)
{
static const struct {
@@ -1433,7 +1435,7 @@ static void ss5_class_init(ObjectClass *oc, void *data)
static const TypeInfo ss5_type = {
.name = MACHINE_TYPE_NAME("SS-5"),
- .parent = TYPE_MACHINE,
+ .parent = TYPE_SUN4M_MACHINE,
.class_init = ss5_class_init,
};
@@ -1453,7 +1455,7 @@ static void ss10_class_init(ObjectClass *oc, void *data)
static const TypeInfo ss10_type = {
.name = MACHINE_TYPE_NAME("SS-10"),
- .parent = TYPE_MACHINE,
+ .parent = TYPE_SUN4M_MACHINE,
.class_init = ss10_class_init,
};
@@ -1473,7 +1475,7 @@ static void ss600mp_class_init(ObjectClass *oc, void
*data)
static const TypeInfo ss600mp_type = {
.name = MACHINE_TYPE_NAME("SS-600MP"),
- .parent = TYPE_MACHINE,
+ .parent = TYPE_SUN4M_MACHINE,
.class_init = ss600mp_class_init,
};
@@ -1493,7 +1495,7 @@ static void ss20_class_init(ObjectClass *oc, void *data)
static const TypeInfo ss20_type = {
.name = MACHINE_TYPE_NAME("SS-20"),
- .parent = TYPE_MACHINE,
+ .parent = TYPE_SUN4M_MACHINE,
.class_init = ss20_class_init,
};
@@ -1512,7 +1514,7 @@ static void voyager_class_init(ObjectClass *oc, void
*data)
static const TypeInfo voyager_type = {
.name = MACHINE_TYPE_NAME("Voyager"),
- .parent = TYPE_MACHINE,
+ .parent = TYPE_SUN4M_MACHINE,
.class_init = voyager_class_init,
};
@@ -1531,7 +1533,7 @@ static void ss_lx_class_init(ObjectClass *oc, void *data)
static const TypeInfo ss_lx_type = {
.name = MACHINE_TYPE_NAME("LX"),
- .parent = TYPE_MACHINE,
+ .parent = TYPE_SUN4M_MACHINE,
.class_init = ss_lx_class_init,
};
@@ -1550,7 +1552,7 @@ static void ss4_class_init(ObjectClass *oc, void *data)
static const TypeInfo ss4_type = {
.name = MACHINE_TYPE_NAME("SS-4"),
- .parent = TYPE_MACHINE,
+ .parent = TYPE_SUN4M_MACHINE,
.class_init = ss4_class_init,
};
@@ -1569,7 +1571,7 @@ static void scls_class_init(ObjectClass *oc, void *data)
static const TypeInfo scls_type = {
.name = MACHINE_TYPE_NAME("SPARCClassic"),
- .parent = TYPE_MACHINE,
+ .parent = TYPE_SUN4M_MACHINE,
.class_init = scls_class_init,
};
@@ -1588,10 +1590,20 @@ static void sbook_class_init(ObjectClass *oc, void
*data)
static const TypeInfo sbook_type = {
.name = MACHINE_TYPE_NAME("SPARCbook"),
- .parent = TYPE_MACHINE,
+ .parent = TYPE_SUN4M_MACHINE,
.class_init = sbook_class_init,
};
+static const TypeInfo sun4m_machine_types[] = {
+ {
+ .name = TYPE_SUN4M_MACHINE,
+ .parent = TYPE_MACHINE,
+ .abstract = true,
+ }
+};
+
+DEFINE_TYPES(sun4m_machine_types)
+
static void sun4m_register_types(void)
{
type_register_static(&idreg_info);
--
2.20.1
- [PULL 00/10] qemu-sparc queue 20210505, Mark Cave-Ayland, 2021/05/05
- [PULL 01/10] hw/sparc/sun4m: Have sun4m machines inherit new TYPE_SUN4M_MACHINE,
Mark Cave-Ayland <=
- [PULL 03/10] hw/sparc/sun4m: Factor out sun4m_machine_class_init(), Mark Cave-Ayland, 2021/05/05
- [PULL 02/10] hw/sparc/sun4m: Introduce Sun4mMachineClass, Mark Cave-Ayland, 2021/05/05
- [PULL 07/10] hw/sparc: Allow building without the leon3 machine, Mark Cave-Ayland, 2021/05/05
- [PULL 05/10] hw/sparc/sun4m: Fix code style for checkpatch.pl, Mark Cave-Ayland, 2021/05/05
- [PULL 06/10] hw/sparc/sun4m: Move each sun4m_hwdef definition in its class_init, Mark Cave-Ayland, 2021/05/05
- [PULL 04/10] hw/sparc/sun4m: Register machine types in sun4m_machine_types[], Mark Cave-Ayland, 2021/05/05
- [PULL 08/10] hw/sparc64: Remove unused "hw/char/serial.h" header, Mark Cave-Ayland, 2021/05/05
- [PULL 09/10] hw/sparc64: Fix code style for checkpatch.pl, Mark Cave-Ayland, 2021/05/05
- [PULL 10/10] hw/sparc*: Move cpu_check_irqs() to target/sparc/, Mark Cave-Ayland, 2021/05/05
- Re: [PULL 00/10] qemu-sparc queue 20210505, Peter Maydell, 2021/05/10