From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, qemu-arm@nongnu.org, qemu-riscv@nongnu.org,
"Gavin Shan" <gshan@redhat.com>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Beniamino Galvani" <b.galvani@gmail.com>,
"Strahinja Jankovic" <strahinja.p.jankovic@gmail.com>,
"Subbaraya Sundeep" <sundeep.lkml@gmail.com>,
"Tyrone Ting" <kfting@nuvoton.com>,
"Hao Wu" <wuhaotsh@google.com>,
"Niek Linnenbank" <nieklinnenbank@gmail.com>
Subject: [PULL 31/71] hw/arm: Check CPU type in machine_run_board_init()
Date: Fri, 5 Jan 2024 16:42:24 +0100 [thread overview]
Message-ID: <20240105154307.21385-32-philmd@linaro.org> (raw)
In-Reply-To: <20240105154307.21385-1-philmd@linaro.org>
From: Gavin Shan <gshan@redhat.com>
Set mc->valid_cpu_types so that the user specified CPU type can
be validated in machine_run_board_init(). We needn't to do it by
ourselves.
Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20231204004726.483558-9-gshan@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/arm/bananapi_m2u.c | 12 ++++++------
hw/arm/cubieboard.c | 12 ++++++------
hw/arm/mps2-tz.c | 26 ++++++++++++++++++++------
hw/arm/mps2.c | 26 ++++++++++++++++++++------
hw/arm/msf2-som.c | 12 ++++++------
hw/arm/musca.c | 12 +++++-------
hw/arm/npcm7xx_boards.c | 12 +++++-------
hw/arm/orangepi.c | 12 ++++++------
8 files changed, 74 insertions(+), 50 deletions(-)
diff --git a/hw/arm/bananapi_m2u.c b/hw/arm/bananapi_m2u.c
index 8f24b18d8c..0a4b6f29b1 100644
--- a/hw/arm/bananapi_m2u.c
+++ b/hw/arm/bananapi_m2u.c
@@ -71,12 +71,6 @@ static void bpim2u_init(MachineState *machine)
exit(1);
}
- /* Only allow Cortex-A7 for this board */
- if (strcmp(machine->cpu_type, ARM_CPU_TYPE_NAME("cortex-a7")) != 0) {
- error_report("This board can only be used with cortex-a7 CPU");
- exit(1);
- }
-
r40 = AW_R40(object_new(TYPE_AW_R40));
object_property_add_child(OBJECT(machine), "soc", OBJECT(r40));
object_unref(OBJECT(r40));
@@ -133,12 +127,18 @@ static void bpim2u_init(MachineState *machine)
static void bpim2u_machine_init(MachineClass *mc)
{
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-a7"),
+ NULL
+ };
+
mc->desc = "Bananapi M2U (Cortex-A7)";
mc->init = bpim2u_init;
mc->min_cpus = AW_R40_NUM_CPUS;
mc->max_cpus = AW_R40_NUM_CPUS;
mc->default_cpus = AW_R40_NUM_CPUS;
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a7");
+ mc->valid_cpu_types = valid_cpu_types;
mc->default_ram_size = 1 * GiB;
mc->default_ram_id = "bpim2u.ram";
}
diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c
index 29146f5018..b976727eef 100644
--- a/hw/arm/cubieboard.c
+++ b/hw/arm/cubieboard.c
@@ -52,12 +52,6 @@ static void cubieboard_init(MachineState *machine)
exit(1);
}
- /* Only allow Cortex-A8 for this board */
- if (strcmp(machine->cpu_type, ARM_CPU_TYPE_NAME("cortex-a8")) != 0) {
- error_report("This board can only be used with cortex-a8 CPU");
- exit(1);
- }
-
a10 = AW_A10(object_new(TYPE_AW_A10));
object_property_add_child(OBJECT(machine), "soc", OBJECT(a10));
object_unref(OBJECT(a10));
@@ -114,8 +108,14 @@ static void cubieboard_init(MachineState *machine)
static void cubieboard_machine_init(MachineClass *mc)
{
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-a8"),
+ NULL
+ };
+
mc->desc = "cubietech cubieboard (Cortex-A8)";
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a8");
+ mc->valid_cpu_types = valid_cpu_types;
mc->default_ram_size = 1 * GiB;
mc->init = cubieboard_init;
mc->block_default_type = IF_IDE;
diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c
index 668db5ed61..5d8cdc1a4c 100644
--- a/hw/arm/mps2-tz.c
+++ b/hw/arm/mps2-tz.c
@@ -813,12 +813,6 @@ static void mps2tz_common_init(MachineState *machine)
int num_ppcs;
int i;
- if (strcmp(machine->cpu_type, mc->default_cpu_type) != 0) {
- error_report("This board can only be used with CPU %s",
- mc->default_cpu_type);
- exit(1);
- }
-
if (machine->ram_size != mc->default_ram_size) {
char *sz = size_to_str(mc->default_ram_size);
error_report("Invalid RAM size, should be %s", sz);
@@ -1318,6 +1312,10 @@ static void mps2tz_an505_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
MPS2TZMachineClass *mmc = MPS2TZ_MACHINE_CLASS(oc);
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-m33"),
+ NULL
+ };
mc->desc = "ARM MPS2 with AN505 FPGA image for Cortex-M33";
mc->default_cpus = 1;
@@ -1325,6 +1323,7 @@ static void mps2tz_an505_class_init(ObjectClass *oc, void *data)
mc->max_cpus = mc->default_cpus;
mmc->fpga_type = FPGA_AN505;
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-m33");
+ mc->valid_cpu_types = valid_cpu_types;
mmc->scc_id = 0x41045050;
mmc->sysclk_frq = 20 * 1000 * 1000; /* 20MHz */
mmc->apb_periph_frq = mmc->sysclk_frq;
@@ -1347,6 +1346,10 @@ static void mps2tz_an521_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
MPS2TZMachineClass *mmc = MPS2TZ_MACHINE_CLASS(oc);
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-m33"),
+ NULL
+ };
mc->desc = "ARM MPS2 with AN521 FPGA image for dual Cortex-M33";
mc->default_cpus = 2;
@@ -1354,6 +1357,7 @@ static void mps2tz_an521_class_init(ObjectClass *oc, void *data)
mc->max_cpus = mc->default_cpus;
mmc->fpga_type = FPGA_AN521;
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-m33");
+ mc->valid_cpu_types = valid_cpu_types;
mmc->scc_id = 0x41045210;
mmc->sysclk_frq = 20 * 1000 * 1000; /* 20MHz */
mmc->apb_periph_frq = mmc->sysclk_frq;
@@ -1376,6 +1380,10 @@ static void mps3tz_an524_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
MPS2TZMachineClass *mmc = MPS2TZ_MACHINE_CLASS(oc);
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-m33"),
+ NULL
+ };
mc->desc = "ARM MPS3 with AN524 FPGA image for dual Cortex-M33";
mc->default_cpus = 2;
@@ -1383,6 +1391,7 @@ static void mps3tz_an524_class_init(ObjectClass *oc, void *data)
mc->max_cpus = mc->default_cpus;
mmc->fpga_type = FPGA_AN524;
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-m33");
+ mc->valid_cpu_types = valid_cpu_types;
mmc->scc_id = 0x41045240;
mmc->sysclk_frq = 32 * 1000 * 1000; /* 32MHz */
mmc->apb_periph_frq = mmc->sysclk_frq;
@@ -1410,6 +1419,10 @@ static void mps3tz_an547_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
MPS2TZMachineClass *mmc = MPS2TZ_MACHINE_CLASS(oc);
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-m55"),
+ NULL
+ };
mc->desc = "ARM MPS3 with AN547 FPGA image for Cortex-M55";
mc->default_cpus = 1;
@@ -1417,6 +1430,7 @@ static void mps3tz_an547_class_init(ObjectClass *oc, void *data)
mc->max_cpus = mc->default_cpus;
mmc->fpga_type = FPGA_AN547;
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-m55");
+ mc->valid_cpu_types = valid_cpu_types;
mmc->scc_id = 0x41055470;
mmc->sysclk_frq = 32 * 1000 * 1000; /* 32MHz */
mmc->apb_periph_frq = 25 * 1000 * 1000; /* 25MHz */
diff --git a/hw/arm/mps2.c b/hw/arm/mps2.c
index 292a180ad2..bd873cc5de 100644
--- a/hw/arm/mps2.c
+++ b/hw/arm/mps2.c
@@ -142,12 +142,6 @@ static void mps2_common_init(MachineState *machine)
QList *oscclk;
int i;
- if (strcmp(machine->cpu_type, mc->default_cpu_type) != 0) {
- error_report("This board can only be used with CPU %s",
- mc->default_cpu_type);
- exit(1);
- }
-
if (machine->ram_size != mc->default_ram_size) {
char *sz = size_to_str(mc->default_ram_size);
error_report("Invalid RAM size, should be %s", sz);
@@ -484,10 +478,15 @@ static void mps2_an385_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
MPS2MachineClass *mmc = MPS2_MACHINE_CLASS(oc);
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-m3"),
+ NULL
+ };
mc->desc = "ARM MPS2 with AN385 FPGA image for Cortex-M3";
mmc->fpga_type = FPGA_AN385;
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-m3");
+ mc->valid_cpu_types = valid_cpu_types;
mmc->scc_id = 0x41043850;
mmc->psram_base = 0x21000000;
mmc->ethernet_base = 0x40200000;
@@ -498,10 +497,15 @@ static void mps2_an386_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
MPS2MachineClass *mmc = MPS2_MACHINE_CLASS(oc);
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-m4"),
+ NULL
+ };
mc->desc = "ARM MPS2 with AN386 FPGA image for Cortex-M4";
mmc->fpga_type = FPGA_AN386;
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-m4");
+ mc->valid_cpu_types = valid_cpu_types;
mmc->scc_id = 0x41043860;
mmc->psram_base = 0x21000000;
mmc->ethernet_base = 0x40200000;
@@ -512,10 +516,15 @@ static void mps2_an500_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
MPS2MachineClass *mmc = MPS2_MACHINE_CLASS(oc);
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-m7"),
+ NULL
+ };
mc->desc = "ARM MPS2 with AN500 FPGA image for Cortex-M7";
mmc->fpga_type = FPGA_AN500;
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-m7");
+ mc->valid_cpu_types = valid_cpu_types;
mmc->scc_id = 0x41045000;
mmc->psram_base = 0x60000000;
mmc->ethernet_base = 0xa0000000;
@@ -526,10 +535,15 @@ static void mps2_an511_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
MPS2MachineClass *mmc = MPS2_MACHINE_CLASS(oc);
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-m3"),
+ NULL
+ };
mc->desc = "ARM MPS2 with AN511 DesignStart FPGA image for Cortex-M3";
mmc->fpga_type = FPGA_AN511;
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-m3");
+ mc->valid_cpu_types = valid_cpu_types;
mmc->scc_id = 0x41045110;
mmc->psram_base = 0x21000000;
mmc->ethernet_base = 0x40200000;
diff --git a/hw/arm/msf2-som.c b/hw/arm/msf2-som.c
index 7b3106c790..eb74b23797 100644
--- a/hw/arm/msf2-som.c
+++ b/hw/arm/msf2-som.c
@@ -55,12 +55,6 @@ static void emcraft_sf2_s2s010_init(MachineState *machine)
MemoryRegion *ddr = g_new(MemoryRegion, 1);
Clock *m3clk;
- if (strcmp(machine->cpu_type, mc->default_cpu_type) != 0) {
- error_report("This board can only be used with CPU %s",
- mc->default_cpu_type);
- exit(1);
- }
-
memory_region_init_ram(ddr, NULL, "ddr-ram", DDR_SIZE,
&error_fatal);
memory_region_add_subregion(sysmem, DDR_BASE_ADDRESS, ddr);
@@ -106,9 +100,15 @@ static void emcraft_sf2_s2s010_init(MachineState *machine)
static void emcraft_sf2_machine_init(MachineClass *mc)
{
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-m3"),
+ NULL
+ };
+
mc->desc = "SmartFusion2 SOM kit from Emcraft (M2S010)";
mc->init = emcraft_sf2_s2s010_init;
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-m3");
+ mc->valid_cpu_types = valid_cpu_types;
}
DEFINE_MACHINE("emcraft-sf2", emcraft_sf2_machine_init)
diff --git a/hw/arm/musca.c b/hw/arm/musca.c
index 6eeee57c9d..770ec1a15c 100644
--- a/hw/arm/musca.c
+++ b/hw/arm/musca.c
@@ -355,7 +355,6 @@ static void musca_init(MachineState *machine)
{
MuscaMachineState *mms = MUSCA_MACHINE(machine);
MuscaMachineClass *mmc = MUSCA_MACHINE_GET_CLASS(mms);
- MachineClass *mc = MACHINE_GET_CLASS(machine);
MemoryRegion *system_memory = get_system_memory();
DeviceState *ssedev;
DeviceState *dev_splitter;
@@ -366,12 +365,6 @@ static void musca_init(MachineState *machine)
assert(mmc->num_irqs <= MUSCA_NUMIRQ_MAX);
assert(mmc->num_mpcs <= MUSCA_MPC_MAX);
- if (strcmp(machine->cpu_type, mc->default_cpu_type) != 0) {
- error_report("This board can only be used with CPU %s",
- mc->default_cpu_type);
- exit(1);
- }
-
mms->sysclk = clock_new(OBJECT(machine), "SYSCLK");
clock_set_hz(mms->sysclk, SYSCLK_FRQ);
mms->s32kclk = clock_new(OBJECT(machine), "S32KCLK");
@@ -604,11 +597,16 @@ static void musca_init(MachineState *machine)
static void musca_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-m33"),
+ NULL
+ };
mc->default_cpus = 2;
mc->min_cpus = mc->default_cpus;
mc->max_cpus = mc->default_cpus;
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-m33");
+ mc->valid_cpu_types = valid_cpu_types;
mc->init = musca_init;
}
diff --git a/hw/arm/npcm7xx_boards.c b/hw/arm/npcm7xx_boards.c
index 2aef579aac..2999b8b96d 100644
--- a/hw/arm/npcm7xx_boards.c
+++ b/hw/arm/npcm7xx_boards.c
@@ -121,15 +121,8 @@ static NPCM7xxState *npcm7xx_create_soc(MachineState *machine,
uint32_t hw_straps)
{
NPCM7xxMachineClass *nmc = NPCM7XX_MACHINE_GET_CLASS(machine);
- MachineClass *mc = MACHINE_CLASS(nmc);
Object *obj;
- if (strcmp(machine->cpu_type, mc->default_cpu_type) != 0) {
- error_report("This board can only be used with %s",
- mc->default_cpu_type);
- exit(1);
- }
-
obj = object_new_with_props(nmc->soc_type, OBJECT(machine), "soc",
&error_abort, NULL);
object_property_set_uint(obj, "power-on-straps", hw_straps, &error_abort);
@@ -463,12 +456,17 @@ static void npcm7xx_set_soc_type(NPCM7xxMachineClass *nmc, const char *type)
static void npcm7xx_machine_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-a9"),
+ NULL
+ };
mc->no_floppy = 1;
mc->no_cdrom = 1;
mc->no_parallel = 1;
mc->default_ram_id = "ram";
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a9");
+ mc->valid_cpu_types = valid_cpu_types;
}
/*
diff --git a/hw/arm/orangepi.c b/hw/arm/orangepi.c
index f3784d45ca..77e328191d 100644
--- a/hw/arm/orangepi.c
+++ b/hw/arm/orangepi.c
@@ -49,12 +49,6 @@ static void orangepi_init(MachineState *machine)
exit(1);
}
- /* Only allow Cortex-A7 for this board */
- if (strcmp(machine->cpu_type, ARM_CPU_TYPE_NAME("cortex-a7")) != 0) {
- error_report("This board can only be used with cortex-a7 CPU");
- exit(1);
- }
-
h3 = AW_H3(object_new(TYPE_AW_H3));
object_property_add_child(OBJECT(machine), "soc", OBJECT(h3));
object_unref(OBJECT(h3));
@@ -111,6 +105,11 @@ static void orangepi_init(MachineState *machine)
static void orangepi_machine_init(MachineClass *mc)
{
+ static const char * const valid_cpu_types[] = {
+ ARM_CPU_TYPE_NAME("cortex-a7"),
+ NULL
+ };
+
mc->desc = "Orange Pi PC (Cortex-A7)";
mc->init = orangepi_init;
mc->block_default_type = IF_SD;
@@ -119,6 +118,7 @@ static void orangepi_machine_init(MachineClass *mc)
mc->max_cpus = AW_H3_NUM_CPUS;
mc->default_cpus = AW_H3_NUM_CPUS;
mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a7");
+ mc->valid_cpu_types = valid_cpu_types;
mc->default_ram_size = 1 * GiB;
mc->default_ram_id = "orangepi.ram";
}
--
2.41.0
next prev parent reply other threads:[~2024-01-05 15:50 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-05 15:41 [PULL 00/71] HW core patches for 2024-01-05 Philippe Mathieu-Daudé
2024-01-05 15:41 ` [PULL 01/71] meson: Allow building binary with no target-specific files in hw/ Philippe Mathieu-Daudé
2024-01-05 15:41 ` [PULL 02/71] target/alpha: Remove fallback to ev67 cpu class Philippe Mathieu-Daudé
2024-01-05 15:41 ` [PULL 03/71] target/hppa: Remove object_class_is_abstract() Philippe Mathieu-Daudé
2024-01-05 15:41 ` [PULL 04/71] cpu: Call object_class_dynamic_cast() once in cpu_class_by_name() Philippe Mathieu-Daudé
2024-01-05 15:41 ` [PULL 05/71] cpu: Add helper cpu_model_from_type() Philippe Mathieu-Daudé
2024-01-05 15:41 ` [PULL 06/71] cpu: Add generic cpu_list() Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 07/71] target/alpha: Use " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 08/71] target/arm: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 09/71] target/avr: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 10/71] target/cris: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 11/71] target/hexagon: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 12/71] target/hppa: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 13/71] target/loongarch: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 14/71] target/m68k: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 15/71] target/mips: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 16/71] target/openrisc: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 17/71] target/riscv: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 18/71] target/rx: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 19/71] target/sh4: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 20/71] target/tricore: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 21/71] target/xtensa: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 22/71] target: Use generic cpu_model_from_type() Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 23/71] hw/core: Add machine_class_default_cpu_type() Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 24/71] machine: Use error handling when CPU type is checked Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 25/71] machine: Introduce helper is_cpu_type_supported() Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 26/71] machine: Improve is_cpu_type_supported() Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 27/71] machine: Print CPU model name instead of CPU type Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 28/71] hw/arm/virt: Hide host CPU model for tcg Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 29/71] hw/arm/virt: Check CPU type in machine_run_board_init() Philippe Mathieu-Daudé
2024-01-09 14:33 ` Peter Maydell
2024-01-11 6:02 ` Gavin Shan
2024-01-05 15:42 ` [PULL 30/71] hw/arm/sbsa-ref: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` Philippe Mathieu-Daudé [this message]
2024-01-05 15:42 ` [PULL 32/71] hw/riscv/shakti_c: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 33/71] hw/core/cpu: Remove final vestiges of dynamic state tracing Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 34/71] hw/core/cpu: Update description of CPUState::node Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 35/71] hw/cpu/core: Cleanup unused included header in core.c Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 36/71] hw/cpu/cluster: Cleanup unused included header in cluster.c Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 37/71] hw/audio/sb16: Do not migrate qdev properties Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 38/71] hw/arm/bcm2836: Simplify use of 'reset-cbar' property Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 39/71] hw/arm/bcm2836: Use ARM_CPU 'mp-affinity' property Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 40/71] hw/ppc/spapr_cpu_core: Access QDev properties with proper API Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 41/71] hw: Simplify accesses to the CPUState::'start-powered-off' property Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 42/71] hw/ppc/xive2_regs: Remove unnecessary 'cpu.h' inclusion Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 43/71] hw/mips: Inline 'bios.h' definitions Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 44/71] memory: Have memory_region_init_ram_flags_nomigrate() return a boolean Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 45/71] memory: Have memory_region_init_ram_nomigrate() handler " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 46/71] memory: Have memory_region_init_rom_nomigrate() " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 47/71] memory: Simplify memory_region_init_rom_nomigrate() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 48/71] memory: Simplify memory_region_init_ram_from_fd() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 49/71] memory: Have memory_region_init_ram() handler return a boolean Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 50/71] memory: Have memory_region_init_rom() " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 51/71] memory: Have memory_region_init_rom_device_nomigrate() " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 52/71] memory: Simplify memory_region_init_rom_device_nomigrate() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 53/71] memory: Have memory_region_init_rom_device() handler return a boolean Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 54/71] memory: Have memory_region_init_resizeable_ram() " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 55/71] memory: Have memory_region_init_ram_from_file() handler " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 56/71] memory: Have memory_region_init_ram_from_fd() " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 57/71] backends: Use g_autofree in HostMemoryBackendClass::alloc() handlers Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 58/71] backends: Simplify host_memory_backend_memory_complete() Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 59/71] backends: Have HostMemoryBackendClass::alloc() handler return a boolean Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 60/71] backends: Reduce variable scope in host_memory_backend_memory_complete Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 61/71] util/oslib: Have qemu_prealloc_mem() handler return a boolean Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 62/71] misc: Simplify qemu_prealloc_mem() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 63/71] hw: Simplify memory_region_init_ram() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 64/71] hw/arm: Simplify memory_region_init_rom() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 65/71] hw/sparc: Simplify memory_region_init_ram_nomigrate() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 66/71] hw/misc: Simplify memory_region_init_ram_from_fd() calls Philippe Mathieu-Daudé
2024-01-05 15:43 ` [PULL 67/71] hw/nvram: Simplify memory_region_init_rom_device() calls Philippe Mathieu-Daudé
2024-01-05 15:43 ` [PULL 68/71] hw/pci-host/raven: Propagate error in raven_realize() Philippe Mathieu-Daudé
2024-01-05 15:43 ` [PULL 69/71] hw/m68k/mcf5206: Embed m5206_timer_state in m5206_mbar_state Philippe Mathieu-Daudé
2024-01-05 15:43 ` [PULL 70/71] hw/net/can/sja1000: fix bug for single acceptance filter and standard frame Philippe Mathieu-Daudé
2024-01-05 15:43 ` [PULL 71/71] target/sparc: Simplify qemu_irq_ack Philippe Mathieu-Daudé
2024-01-05 17:05 ` [PULL 00/71] HW core patches for 2024-01-05 Philippe Mathieu-Daudé
2024-01-05 18:43 ` Peter Maydell
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=20240105154307.21385-32-philmd@linaro.org \
--to=philmd@linaro.org \
--cc=b.galvani@gmail.com \
--cc=gshan@redhat.com \
--cc=kfting@nuvoton.com \
--cc=nieklinnenbank@gmail.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=strahinja.p.jankovic@gmail.com \
--cc=sundeep.lkml@gmail.com \
--cc=wuhaotsh@google.com \
/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).