From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: Pierrick Bouvier <pierrick.bouvier@linaro.org>, qemu-devel@nongnu.org
Cc: Anton Johansson <anjo@rev.ng>,
Richard Henderson <richard.henderson@linaro.org>
Subject: [RFC PATCH v2 05/11] hw/arm: Filter machine types for qemu-system-aarch64 binary
Date: Fri, 18 Apr 2025 02:50:53 +0200 [thread overview]
Message-ID: <20250418005059.4436-6-philmd@linaro.org> (raw)
In-Reply-To: <20250418005059.4436-1-philmd@linaro.org>
Since the qemu-system-aarch64 binary is able to run
all machines indistinctly, simply register the
TYPE_TARGET_AARCH64_MACHINE interface for all
existing machines under the hw/arm/ directory.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/arm/aspeed.c | 88 ++++++++++++++++++++++++++++++++++++++
hw/arm/b-l475e-iot01a.c | 4 ++
hw/arm/bananapi_m2u.c | 4 ++
hw/arm/collie.c | 4 ++
hw/arm/cubieboard.c | 4 ++
hw/arm/digic_boards.c | 4 ++
hw/arm/exynos4_boards.c | 8 ++++
hw/arm/fby35.c | 4 ++
hw/arm/highbank.c | 8 ++++
hw/arm/imx25_pdk.c | 4 ++
hw/arm/imx8mp-evk.c | 4 ++
hw/arm/integratorcp.c | 4 ++
hw/arm/kzm.c | 4 ++
hw/arm/mcimx6ul-evk.c | 4 ++
hw/arm/mcimx7d-sabre.c | 4 ++
hw/arm/microbit.c | 4 ++
hw/arm/mps2-tz.c | 16 +++++++
hw/arm/mps2.c | 16 +++++++
hw/arm/mps3r.c | 4 ++
hw/arm/msf2-som.c | 4 ++
hw/arm/musca.c | 8 ++++
hw/arm/musicpal.c | 4 ++
hw/arm/netduino2.c | 4 ++
hw/arm/netduinoplus2.c | 4 ++
hw/arm/npcm7xx_boards.c | 20 +++++++++
hw/arm/npcm8xx_boards.c | 4 ++
hw/arm/olimex-stm32-h405.c | 4 ++
hw/arm/omap_sx1.c | 8 ++++
hw/arm/orangepi.c | 4 ++
hw/arm/raspi.c | 20 +++++++++
hw/arm/raspi4b.c | 4 ++
hw/arm/realview.c | 16 +++++++
hw/arm/sabrelite.c | 4 ++
hw/arm/sbsa-ref.c | 4 ++
hw/arm/stellaris.c | 8 ++++
hw/arm/stm32vldiscovery.c | 4 ++
hw/arm/versatilepb.c | 8 ++++
hw/arm/vexpress.c | 8 ++++
hw/arm/virt.c | 4 ++
hw/arm/xilinx_zynq.c | 4 ++
hw/arm/xlnx-versal-virt.c | 4 ++
hw/arm/xlnx-zcu102.c | 4 ++
42 files changed, 348 insertions(+)
diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index 82f42582fa3..ca7004c335a 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -1760,91 +1760,179 @@ static const TypeInfo aspeed_machine_types[] = {
.name = MACHINE_TYPE_NAME("palmetto-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_palmetto_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("supermicrox11-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_supermicrox11_bmc_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("supermicro-x11spi-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_supermicro_x11spi_bmc_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("ast2500-evb"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_ast2500_evb_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("romulus-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_romulus_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("sonorapass-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_sonorapass_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("witherspoon-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_witherspoon_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("ast2600-evb"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_ast2600_evb_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("yosemitev2-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_yosemitev2_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("tiogapass-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_tiogapass_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("g220a-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_g220a_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("qcom-dc-scm-v1-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_qcom_dc_scm_v1_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("qcom-firework-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_qcom_firework_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("fp5280g2-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_fp5280g2_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("quanta-q71l-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_quanta_q71l_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("rainier-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_rainier_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("fuji-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_fuji_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("bletchley-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_bletchley_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("fby35-bmc"),
.parent = MACHINE_TYPE_NAME("ast2600-evb"),
.class_init = aspeed_machine_fby35_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("ast1030-evb"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_minibmc_machine_ast1030_evb_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
#ifdef TARGET_AARCH64
}, {
.name = MACHINE_TYPE_NAME("ast2700a0-evb"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_ast2700a0_evb_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("ast2700a1-evb"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_ast2700a1_evb_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
#endif
}, {
.name = TYPE_ASPEED_MACHINE,
diff --git a/hw/arm/b-l475e-iot01a.c b/hw/arm/b-l475e-iot01a.c
index c9a5209216c..cc4b9d6c3b5 100644
--- a/hw/arm/b-l475e-iot01a.c
+++ b/hw/arm/b-l475e-iot01a.c
@@ -131,6 +131,10 @@ static const TypeInfo bl475e_machine_type[] = {
.parent = TYPE_MACHINE,
.instance_size = sizeof(Bl475eMachineState),
.class_init = bl475e_machine_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}
};
diff --git a/hw/arm/bananapi_m2u.c b/hw/arm/bananapi_m2u.c
index 724ee4b05e5..d9871a796bb 100644
--- a/hw/arm/bananapi_m2u.c
+++ b/hw/arm/bananapi_m2u.c
@@ -150,6 +150,10 @@ static const TypeInfo bananapi_machine_types[] = {
.name = MACHINE_TYPE_NAME("bpim2u"),
.parent = TYPE_MACHINE,
.class_init = bpim2u_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/collie.c b/hw/arm/collie.c
index e83aee58c6b..16e862e15b6 100644
--- a/hw/arm/collie.c
+++ b/hw/arm/collie.c
@@ -86,6 +86,10 @@ static const TypeInfo collie_machine_typeinfo = {
.parent = TYPE_MACHINE,
.class_init = collie_machine_class_init,
.instance_size = sizeof(CollieMachineState),
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void collie_machine_register_types(void)
diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c
index 36062ac7037..dd40d65554d 100644
--- a/hw/arm/cubieboard.c
+++ b/hw/arm/cubieboard.c
@@ -131,6 +131,10 @@ static const TypeInfo cubieboard_machine_types[] = {
.name = MACHINE_TYPE_NAME("cubieboard"),
.parent = TYPE_MACHINE,
.class_init = cubieboard_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/digic_boards.c b/hw/arm/digic_boards.c
index 3c0cc6e4370..f55309082ac 100644
--- a/hw/arm/digic_boards.c
+++ b/hw/arm/digic_boards.c
@@ -152,6 +152,10 @@ static const TypeInfo digic_machine_types[] = {
.name = MACHINE_TYPE_NAME("canon-a1100"),
.parent = TYPE_MACHINE,
.class_init = digic_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c
index 2d8f2d73265..b55e364d962 100644
--- a/hw/arm/exynos4_boards.c
+++ b/hw/arm/exynos4_boards.c
@@ -172,6 +172,10 @@ static const TypeInfo nuri_type = {
.name = MACHINE_TYPE_NAME("nuri"),
.parent = TYPE_MACHINE,
.class_init = nuri_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void smdkc210_class_init(ObjectClass *oc, void *data)
@@ -192,6 +196,10 @@ static const TypeInfo smdkc210_type = {
.name = MACHINE_TYPE_NAME("smdkc210"),
.parent = TYPE_MACHINE,
.class_init = smdkc210_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void exynos4_machines_init(void)
diff --git a/hw/arm/fby35.c b/hw/arm/fby35.c
index 6d3663f14a1..de6b32ce532 100644
--- a/hw/arm/fby35.c
+++ b/hw/arm/fby35.c
@@ -187,6 +187,10 @@ static const TypeInfo fby35_types[] = {
.class_init = fby35_class_init,
.instance_size = sizeof(Fby35State),
.instance_init = fby35_instance_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c
index 0f3c207d548..e517cf3c7f6 100644
--- a/hw/arm/highbank.c
+++ b/hw/arm/highbank.c
@@ -363,6 +363,10 @@ static const TypeInfo highbank_type = {
.name = MACHINE_TYPE_NAME("highbank"),
.parent = TYPE_MACHINE,
.class_init = highbank_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void midway_class_init(ObjectClass *oc, void *data)
@@ -387,6 +391,10 @@ static const TypeInfo midway_type = {
.name = MACHINE_TYPE_NAME("midway"),
.parent = TYPE_MACHINE,
.class_init = midway_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void calxeda_machines_init(void)
diff --git a/hw/arm/imx25_pdk.c b/hw/arm/imx25_pdk.c
index a90def7f1a2..da8479ca608 100644
--- a/hw/arm/imx25_pdk.c
+++ b/hw/arm/imx25_pdk.c
@@ -157,6 +157,10 @@ static const TypeInfo imx25_machine_types[] = {
.name = MACHINE_TYPE_NAME("imx25-pdk"),
.parent = TYPE_MACHINE,
.class_init = imx25_pdk_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/imx8mp-evk.c b/hw/arm/imx8mp-evk.c
index c7d87d99230..bc8a3abd04a 100644
--- a/hw/arm/imx8mp-evk.c
+++ b/hw/arm/imx8mp-evk.c
@@ -79,6 +79,10 @@ static const TypeInfo imx8_machine_types[] = {
.name = MACHINE_TYPE_NAME("imx8mp-evk"),
.parent = TYPE_MACHINE,
.class_init = imx8mp_evk_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c
index f95916b517d..5599cf60707 100644
--- a/hw/arm/integratorcp.c
+++ b/hw/arm/integratorcp.c
@@ -760,6 +760,10 @@ static const TypeInfo integratorcp_machine_types[] = {
.name = MACHINE_TYPE_NAME("integratorcp"),
.parent = TYPE_MACHINE,
.class_init = integratorcp_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/kzm.c b/hw/arm/kzm.c
index b56cabe9f94..208546205be 100644
--- a/hw/arm/kzm.c
+++ b/hw/arm/kzm.c
@@ -146,6 +146,10 @@ static const TypeInfo kzm_machine_types[] = {
.name = MACHINE_TYPE_NAME("kzm"),
.parent = TYPE_MACHINE,
.class_init = kzm_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/mcimx6ul-evk.c b/hw/arm/mcimx6ul-evk.c
index d947836d2be..65e6134862e 100644
--- a/hw/arm/mcimx6ul-evk.c
+++ b/hw/arm/mcimx6ul-evk.c
@@ -84,6 +84,10 @@ static const TypeInfo imx6_machine_types[] = {
.name = MACHINE_TYPE_NAME("mcimx6ul-evk"),
.parent = TYPE_MACHINE,
.class_init = mcimx6ul_evk_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/mcimx7d-sabre.c b/hw/arm/mcimx7d-sabre.c
index f5dc9c211dd..1f88dc03915 100644
--- a/hw/arm/mcimx7d-sabre.c
+++ b/hw/arm/mcimx7d-sabre.c
@@ -84,6 +84,10 @@ static const TypeInfo imx7_machine_types[] = {
.name = MACHINE_TYPE_NAME("mcimx7d-sabre"),
.parent = TYPE_MACHINE,
.class_init = mcimx7d_sabre_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/microbit.c b/hw/arm/microbit.c
index ade363daaa4..e537735e247 100644
--- a/hw/arm/microbit.c
+++ b/hw/arm/microbit.c
@@ -74,6 +74,10 @@ static const TypeInfo microbit_info = {
.parent = TYPE_MACHINE,
.instance_size = sizeof(MicrobitMachineState),
.class_init = microbit_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void microbit_machine_init(void)
diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c
index b0633a5a69e..6cd36ee4037 100644
--- a/hw/arm/mps2-tz.c
+++ b/hw/arm/mps2-tz.c
@@ -1463,24 +1463,40 @@ static const TypeInfo mps2tz_an505_info = {
.name = TYPE_MPS2TZ_AN505_MACHINE,
.parent = TYPE_MPS2TZ_MACHINE,
.class_init = mps2tz_an505_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static const TypeInfo mps2tz_an521_info = {
.name = TYPE_MPS2TZ_AN521_MACHINE,
.parent = TYPE_MPS2TZ_MACHINE,
.class_init = mps2tz_an521_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static const TypeInfo mps3tz_an524_info = {
.name = TYPE_MPS3TZ_AN524_MACHINE,
.parent = TYPE_MPS2TZ_MACHINE,
.class_init = mps3tz_an524_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static const TypeInfo mps3tz_an547_info = {
.name = TYPE_MPS3TZ_AN547_MACHINE,
.parent = TYPE_MPS2TZ_MACHINE,
.class_init = mps3tz_an547_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void mps2tz_machine_init(void)
diff --git a/hw/arm/mps2.c b/hw/arm/mps2.c
index 6958485a668..709d7d0a08e 100644
--- a/hw/arm/mps2.c
+++ b/hw/arm/mps2.c
@@ -563,24 +563,40 @@ static const TypeInfo mps2_an385_info = {
.name = TYPE_MPS2_AN385_MACHINE,
.parent = TYPE_MPS2_MACHINE,
.class_init = mps2_an385_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static const TypeInfo mps2_an386_info = {
.name = TYPE_MPS2_AN386_MACHINE,
.parent = TYPE_MPS2_MACHINE,
.class_init = mps2_an386_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static const TypeInfo mps2_an500_info = {
.name = TYPE_MPS2_AN500_MACHINE,
.parent = TYPE_MPS2_MACHINE,
.class_init = mps2_an500_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static const TypeInfo mps2_an511_info = {
.name = TYPE_MPS2_AN511_MACHINE,
.parent = TYPE_MPS2_MACHINE,
.class_init = mps2_an511_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void mps2_machine_init(void)
diff --git a/hw/arm/mps3r.c b/hw/arm/mps3r.c
index 4dd1e8a7180..d1a72c7775b 100644
--- a/hw/arm/mps3r.c
+++ b/hw/arm/mps3r.c
@@ -634,6 +634,10 @@ static const TypeInfo mps3r_machine_types[] = {
.name = TYPE_MPS3R_AN536_MACHINE,
.parent = TYPE_MPS3R_MACHINE,
.class_init = mps3r_an536_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/msf2-som.c b/hw/arm/msf2-som.c
index 6ce47eaa27a..11988b6aa6d 100644
--- a/hw/arm/msf2-som.c
+++ b/hw/arm/msf2-som.c
@@ -114,6 +114,10 @@ static const TypeInfo msf2_machine_types[] = {
.name = MACHINE_TYPE_NAME("emcraft-sf2"),
.parent = TYPE_MACHINE,
.class_init = emcraft_sf2_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/musca.c b/hw/arm/musca.c
index a4f43f1992b..3a11b3d1cd6 100644
--- a/hw/arm/musca.c
+++ b/hw/arm/musca.c
@@ -657,12 +657,20 @@ static const TypeInfo musca_a_info = {
.name = TYPE_MUSCA_A_MACHINE,
.parent = TYPE_MUSCA_MACHINE,
.class_init = musca_a_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static const TypeInfo musca_b1_info = {
.name = TYPE_MUSCA_B1_MACHINE,
.parent = TYPE_MUSCA_MACHINE,
.class_init = musca_b1_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void musca_machine_init(void)
diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index f7c488cd1d6..9cf8eec8b13 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -1381,6 +1381,10 @@ static const TypeInfo musicpal_types[] = {
.name = MACHINE_TYPE_NAME("musicpal"),
.parent = TYPE_MACHINE,
.class_init = musicpal_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/netduino2.c b/hw/arm/netduino2.c
index 52c30055d44..e6e140ed6bf 100644
--- a/hw/arm/netduino2.c
+++ b/hw/arm/netduino2.c
@@ -71,6 +71,10 @@ static const TypeInfo netduino_machine_types[] = {
.name = MACHINE_TYPE_NAME("netduino2"),
.parent = TYPE_MACHINE,
.class_init = netduino2_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/netduinoplus2.c b/hw/arm/netduinoplus2.c
index 2735d3a0e2b..b54e990b5bd 100644
--- a/hw/arm/netduinoplus2.c
+++ b/hw/arm/netduinoplus2.c
@@ -71,6 +71,10 @@ static const TypeInfo netduino_machine_types[] = {
.name = MACHINE_TYPE_NAME("netduinoplus2"),
.parent = TYPE_MACHINE,
.class_init = netduinoplus2_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/npcm7xx_boards.c b/hw/arm/npcm7xx_boards.c
index eb28b97ad83..4d2c52f3422 100644
--- a/hw/arm/npcm7xx_boards.c
+++ b/hw/arm/npcm7xx_boards.c
@@ -549,22 +549,42 @@ static const TypeInfo npcm7xx_machine_types[] = {
.name = MACHINE_TYPE_NAME("npcm750-evb"),
.parent = TYPE_NPCM7XX_MACHINE,
.class_init = npcm750_evb_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("quanta-gsj"),
.parent = TYPE_NPCM7XX_MACHINE,
.class_init = gsj_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("quanta-gbs-bmc"),
.parent = TYPE_NPCM7XX_MACHINE,
.class_init = gbs_bmc_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("kudo-bmc"),
.parent = TYPE_NPCM7XX_MACHINE,
.class_init = kudo_bmc_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("mori-bmc"),
.parent = TYPE_NPCM7XX_MACHINE,
.class_init = mori_bmc_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/npcm8xx_boards.c b/hw/arm/npcm8xx_boards.c
index 3fb8478e72e..1b5a3080436 100644
--- a/hw/arm/npcm8xx_boards.c
+++ b/hw/arm/npcm8xx_boards.c
@@ -248,6 +248,10 @@ static const TypeInfo npcm8xx_machine_types[] = {
.name = MACHINE_TYPE_NAME("npcm845-evb"),
.parent = TYPE_NPCM8XX_MACHINE,
.class_init = npcm845_evb_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/olimex-stm32-h405.c b/hw/arm/olimex-stm32-h405.c
index 795218c93cf..4344bef4db1 100644
--- a/hw/arm/olimex-stm32-h405.c
+++ b/hw/arm/olimex-stm32-h405.c
@@ -77,6 +77,10 @@ static const TypeInfo olimex_stm32_machine_types[] = {
.name = MACHINE_TYPE_NAME("olimex-stm32-h405"),
.parent = TYPE_MACHINE,
.class_init = olimex_stm32_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/omap_sx1.c b/hw/arm/omap_sx1.c
index aa1e96b3ad7..9f90f95b9ee 100644
--- a/hw/arm/omap_sx1.c
+++ b/hw/arm/omap_sx1.c
@@ -219,6 +219,10 @@ static const TypeInfo sx1_machine_v2_type = {
.name = MACHINE_TYPE_NAME("sx1"),
.parent = TYPE_MACHINE,
.class_init = sx1_machine_v2_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void sx1_machine_v1_class_init(ObjectClass *oc, void *data)
@@ -238,6 +242,10 @@ static const TypeInfo sx1_machine_v1_type = {
.name = MACHINE_TYPE_NAME("sx1-v1"),
.parent = TYPE_MACHINE,
.class_init = sx1_machine_v1_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void sx1_machine_init(void)
diff --git a/hw/arm/orangepi.c b/hw/arm/orangepi.c
index 6821033bfd7..f539b2fc3a4 100644
--- a/hw/arm/orangepi.c
+++ b/hw/arm/orangepi.c
@@ -130,6 +130,10 @@ static const TypeInfo orangepi_machine_types[] = {
.name = MACHINE_TYPE_NAME("orangepi-pc"),
.parent = TYPE_MACHINE,
.class_init = orangepi_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
index dce35ca11aa..b8b947bc29e 100644
--- a/hw/arm/raspi.c
+++ b/hw/arm/raspi.c
@@ -394,23 +394,43 @@ static const TypeInfo raspi_machine_types[] = {
.name = MACHINE_TYPE_NAME("raspi0"),
.parent = TYPE_RASPI_MACHINE,
.class_init = raspi0_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("raspi1ap"),
.parent = TYPE_RASPI_MACHINE,
.class_init = raspi1ap_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("raspi2b"),
.parent = TYPE_RASPI_MACHINE,
.class_init = raspi2b_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
#ifdef TARGET_AARCH64
}, {
.name = MACHINE_TYPE_NAME("raspi3ap"),
.parent = TYPE_RASPI_MACHINE,
.class_init = raspi3ap_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
}, {
.name = MACHINE_TYPE_NAME("raspi3b"),
.parent = TYPE_RASPI_MACHINE,
.class_init = raspi3b_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
#endif
}, {
.name = TYPE_RASPI_MACHINE,
diff --git a/hw/arm/raspi4b.c b/hw/arm/raspi4b.c
index f6de103a3e1..8074cd80b4d 100644
--- a/hw/arm/raspi4b.c
+++ b/hw/arm/raspi4b.c
@@ -127,6 +127,10 @@ static const TypeInfo raspi4b_machine_type = {
.parent = TYPE_RASPI_BASE_MACHINE,
.instance_size = sizeof(Raspi4bMachineState),
.class_init = raspi4b_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void raspi4b_machine_register_type(void)
diff --git a/hw/arm/realview.c b/hw/arm/realview.c
index 008eeaf049a..2ccee583117 100644
--- a/hw/arm/realview.c
+++ b/hw/arm/realview.c
@@ -431,6 +431,10 @@ static const TypeInfo realview_eb_type = {
.name = MACHINE_TYPE_NAME("realview-eb"),
.parent = TYPE_MACHINE,
.class_init = realview_eb_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void realview_eb_mpcore_class_init(ObjectClass *oc, void *data)
@@ -452,6 +456,10 @@ static const TypeInfo realview_eb_mpcore_type = {
.name = MACHINE_TYPE_NAME("realview-eb-mpcore"),
.parent = TYPE_MACHINE,
.class_init = realview_eb_mpcore_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void realview_pb_a8_class_init(ObjectClass *oc, void *data)
@@ -471,6 +479,10 @@ static const TypeInfo realview_pb_a8_type = {
.name = MACHINE_TYPE_NAME("realview-pb-a8"),
.parent = TYPE_MACHINE,
.class_init = realview_pb_a8_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void realview_pbx_a9_class_init(ObjectClass *oc, void *data)
@@ -491,6 +503,10 @@ static const TypeInfo realview_pbx_a9_type = {
.name = MACHINE_TYPE_NAME("realview-pbx-a9"),
.parent = TYPE_MACHINE,
.class_init = realview_pbx_a9_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void realview_machine_init(void)
diff --git a/hw/arm/sabrelite.c b/hw/arm/sabrelite.c
index ea59ba301e7..a4c1dd7edc1 100644
--- a/hw/arm/sabrelite.c
+++ b/hw/arm/sabrelite.c
@@ -120,6 +120,10 @@ static const TypeInfo sabrelite_machine_types[] = {
.name = MACHINE_TYPE_NAME("sabrelite"),
.parent = TYPE_MACHINE,
.class_init = sabrelite_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c
index aa09d7a0917..138b8a4bf7f 100644
--- a/hw/arm/sbsa-ref.c
+++ b/hw/arm/sbsa-ref.c
@@ -920,6 +920,10 @@ static const TypeInfo sbsa_ref_info = {
.instance_init = sbsa_ref_instance_init,
.class_init = sbsa_ref_class_init,
.instance_size = sizeof(SBSAMachineState),
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void sbsa_ref_machine_init(void)
diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
index cbe914c93e9..1e696e25c42 100644
--- a/hw/arm/stellaris.c
+++ b/hw/arm/stellaris.c
@@ -1427,6 +1427,10 @@ static const TypeInfo lm3s811evb_type = {
.name = MACHINE_TYPE_NAME("lm3s811evb"),
.parent = TYPE_MACHINE,
.class_init = lm3s811evb_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
/*
@@ -1448,6 +1452,10 @@ static const TypeInfo lm3s6965evb_type = {
.name = MACHINE_TYPE_NAME("lm3s6965evb"),
.parent = TYPE_MACHINE,
.class_init = lm3s6965evb_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void stellaris_machine_init(void)
diff --git a/hw/arm/stm32vldiscovery.c b/hw/arm/stm32vldiscovery.c
index 3a9728ca719..7c267fd880b 100644
--- a/hw/arm/stm32vldiscovery.c
+++ b/hw/arm/stm32vldiscovery.c
@@ -74,6 +74,10 @@ static const TypeInfo stm32vldiscovery_machine_types[] = {
.name = MACHINE_TYPE_NAME("stm32vldiscovery"),
.parent = TYPE_MACHINE,
.class_init = stm32vldiscovery_machine_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
},
};
diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c
index 35766445fa4..4c71a73b3b1 100644
--- a/hw/arm/versatilepb.c
+++ b/hw/arm/versatilepb.c
@@ -431,6 +431,10 @@ static const TypeInfo versatilepb_type = {
.name = MACHINE_TYPE_NAME("versatilepb"),
.parent = TYPE_MACHINE,
.class_init = versatilepb_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void versatileab_class_init(ObjectClass *oc, void *data)
@@ -452,6 +456,10 @@ static const TypeInfo versatileab_type = {
.name = MACHINE_TYPE_NAME("versatileab"),
.parent = TYPE_MACHINE,
.class_init = versatileab_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void versatile_machine_init(void)
diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c
index 76c6107766c..fad4a9b8cfa 100644
--- a/hw/arm/vexpress.c
+++ b/hw/arm/vexpress.c
@@ -850,6 +850,10 @@ static const TypeInfo vexpress_a9_info = {
.parent = TYPE_VEXPRESS_MACHINE,
.class_init = vexpress_a9_class_init,
.instance_init = vexpress_a9_instance_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static const TypeInfo vexpress_a15_info = {
@@ -857,6 +861,10 @@ static const TypeInfo vexpress_a15_info = {
.parent = TYPE_VEXPRESS_MACHINE,
.class_init = vexpress_a15_class_init,
.instance_init = vexpress_a15_instance_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void vexpress_machine_init(void)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index a96452f17a4..41918eb760b 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -123,6 +123,10 @@ static void arm_virt_compat_set(MachineClass *mc)
.name = MACHINE_VER_TYPE_NAME("virt", __VA_ARGS__), \
.parent = TYPE_VIRT_MACHINE, \
.class_init = MACHINE_VER_SYM(class_init, virt, __VA_ARGS__), \
+ .interfaces = (InterfaceInfo[]) { \
+ { TYPE_TARGET_AARCH64_MACHINE }, \
+ { }, \
+ }, \
}; \
static void MACHINE_VER_SYM(register, virt, __VA_ARGS__)(void) \
{ \
diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c
index b8916665ed6..efcbddffda0 100644
--- a/hw/arm/xilinx_zynq.c
+++ b/hw/arm/xilinx_zynq.c
@@ -480,6 +480,10 @@ static const TypeInfo zynq_machine_type = {
.parent = TYPE_MACHINE,
.class_init = zynq_machine_class_init,
.instance_size = sizeof(ZynqMachineState),
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void zynq_machine_register_types(void)
diff --git a/hw/arm/xlnx-versal-virt.c b/hw/arm/xlnx-versal-virt.c
index 0c6f0359e3d..89fd79f81e3 100644
--- a/hw/arm/xlnx-versal-virt.c
+++ b/hw/arm/xlnx-versal-virt.c
@@ -833,6 +833,10 @@ static const TypeInfo versal_virt_machine_init_typeinfo = {
.instance_init = versal_virt_machine_instance_init,
.instance_size = sizeof(VersalVirt),
.instance_finalize = versal_virt_machine_finalize,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void versal_virt_machine_init_register_types(void)
diff --git a/hw/arm/xlnx-zcu102.c b/hw/arm/xlnx-zcu102.c
index 4fdb153e4d8..1ca4ac6a675 100644
--- a/hw/arm/xlnx-zcu102.c
+++ b/hw/arm/xlnx-zcu102.c
@@ -303,6 +303,10 @@ static const TypeInfo xlnx_zcu102_machine_init_typeinfo = {
.class_init = xlnx_zcu102_machine_class_init,
.instance_init = xlnx_zcu102_machine_instance_init,
.instance_size = sizeof(XlnxZCU102),
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_TARGET_AARCH64_MACHINE },
+ { },
+ },
};
static void xlnx_zcu102_machine_init_register_types(void)
--
2.47.1
next prev parent reply other threads:[~2025-04-18 0:51 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-18 0:50 [RFC PATCH v2 00/11] single-binary: Make hw/arm/ common Philippe Mathieu-Daudé
2025-04-18 0:50 ` [RFC PATCH v2 01/11] qapi: Rename TargetInfo structure as BinaryTargetInfo Philippe Mathieu-Daudé
2025-04-18 2:55 ` Pierrick Bouvier
2025-04-18 0:50 ` [RFC PATCH v2 02/11] qemu: Convert target_name() to TargetInfo API Philippe Mathieu-Daudé
2025-04-18 3:01 ` Pierrick Bouvier
2025-04-18 14:02 ` Philippe Mathieu-Daudé
2025-04-18 16:23 ` Pierrick Bouvier
2025-04-18 17:15 ` Philippe Mathieu-Daudé
2025-04-18 0:50 ` [RFC PATCH v2 03/11] system/vl: Filter machine list available for a particular target binary Philippe Mathieu-Daudé
2025-04-18 3:06 ` Pierrick Bouvier
2025-04-18 14:14 ` Philippe Mathieu-Daudé
2025-04-18 0:50 ` [RFC PATCH v2 04/11] hw/arm: Register TYPE_TARGET_ARM/AARCH64_CPU QOM interfaces Philippe Mathieu-Daudé
2025-04-18 3:07 ` Pierrick Bouvier
2025-04-18 14:07 ` Philippe Mathieu-Daudé
2025-04-18 16:30 ` Pierrick Bouvier
2025-04-18 17:04 ` Philippe Mathieu-Daudé
2025-04-18 17:07 ` Pierrick Bouvier
2025-04-18 17:10 ` Philippe Mathieu-Daudé
2025-04-18 17:23 ` Pierrick Bouvier
2025-04-18 17:32 ` Philippe Mathieu-Daudé
2025-04-19 1:17 ` Pierrick Bouvier
2025-04-18 0:50 ` Philippe Mathieu-Daudé [this message]
2025-04-18 0:50 ` [RFC PATCH v2 06/11] hw/arm: Filter machine types for qemu-system-arm binary Philippe Mathieu-Daudé
2025-04-18 3:08 ` Pierrick Bouvier
2025-04-18 0:50 ` [RFC PATCH v2 07/11] hw/core: Allow ARM/Aarch64 binaries to use the 'none' machine Philippe Mathieu-Daudé
2025-04-18 3:32 ` Pierrick Bouvier
2025-04-18 0:50 ` [RFC PATCH v2 08/11] config/target: Implement per-binary TargetInfo structure (ARM) Philippe Mathieu-Daudé
2025-04-18 3:39 ` Pierrick Bouvier
2025-04-18 4:02 ` Pierrick Bouvier
2025-04-18 11:20 ` Philippe Mathieu-Daudé
2025-04-18 0:50 ` [RFC PATCH v2 09/11] config/target: Implement per-binary TargetInfo structure (Aarch64) Philippe Mathieu-Daudé
2025-04-18 3:34 ` Pierrick Bouvier
2025-04-18 0:50 ` [RFC PATCH v2 10/11] hw/arm/aspeed: Build objects once Philippe Mathieu-Daudé
2025-04-18 4:02 ` Pierrick Bouvier
2025-04-18 0:50 ` [RFC PATCH v2 11/11] hw/arm/raspi: " Philippe Mathieu-Daudé
2025-04-18 4:03 ` Pierrick Bouvier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250418005059.4436-6-philmd@linaro.org \
--to=philmd@linaro.org \
--cc=anjo@rev.ng \
--cc=pierrick.bouvier@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).