Re: [PATCH 5/8] hw/arm/aspeed/2500: Check for CPU types in machine_run_board_init()
On 1/23/24 07:38, Philippe Mathieu-Daudé wrote: Restrict MachineClass::valid_cpu_types[] to the single valid CPU type. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Cédric Le Goater Thanks, C. --- hw/arm/aspeed.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index e0e0877b1d..df627096d2 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -1152,6 +1152,11 @@ static const char * const ast2400_a1_valid_cpu_types[] = { NULL }; +static const char * const ast2500_a1_valid_cpu_types[] = { +ARM_CPU_TYPE_NAME("arm1176"), +NULL +}; + static void aspeed_machine_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); @@ -1236,6 +1241,7 @@ static void aspeed_machine_supermicro_x11spi_bmc_class_init(ObjectClass *oc, amc->num_cs= 1; amc->macs_mask = ASPEED_MAC0_ON | ASPEED_MAC1_ON; amc->i2c_init = palmetto_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1253,6 +1259,7 @@ static void aspeed_machine_ast2500_evb_class_init(ObjectClass *oc, void *data) amc->spi_model = "mx25l25635f"; amc->num_cs= 1; amc->i2c_init = ast2500_evb_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1271,6 +1278,7 @@ static void aspeed_machine_yosemitev2_class_init(ObjectClass *oc, void *data) amc->spi_model = "mx25l25635e"; amc->num_cs= 2; amc->i2c_init = yosemitev2_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1288,6 +1296,7 @@ static void aspeed_machine_romulus_class_init(ObjectClass *oc, void *data) amc->spi_model = "mx66l1g45g"; amc->num_cs= 2; amc->i2c_init = romulus_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1306,6 +1315,7 @@ static void aspeed_machine_tiogapass_class_init(ObjectClass *oc, void *data) amc->spi_model = "mx25l25635e"; amc->num_cs= 2; amc->i2c_init = tiogapass_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 1 * GiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1324,6 +1334,7 @@ static void aspeed_machine_sonorapass_class_init(ObjectClass *oc, void *data) amc->spi_model = "mx66l1g45g"; amc->num_cs= 2; amc->i2c_init = sonorapass_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1341,6 +1352,7 @@ static void aspeed_machine_witherspoon_class_init(ObjectClass *oc, void *data) amc->spi_model = "mx66l1g45g"; amc->num_cs= 2; amc->i2c_init = witherspoon_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1398,6 +1410,7 @@ static void aspeed_machine_g220a_class_init(ObjectClass *oc, void *data) amc->num_cs= 2; amc->macs_mask = ASPEED_MAC0_ON | ASPEED_MAC1_ON; amc->i2c_init = g220a_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 1024 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1416,6 +1429,7 @@ static void aspeed_machine_fp5280g2_class_init(ObjectClass *oc, void *data) amc->num_cs= 2; amc->macs_mask = ASPEED_MAC0_ON | ASPEED_MAC1_ON; amc->i2c_init = fp5280g2_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name);
[PATCH 5/8] hw/arm/aspeed/2500: Check for CPU types in machine_run_board_init()
Restrict MachineClass::valid_cpu_types[] to the single valid CPU type. Signed-off-by: Philippe Mathieu-Daudé --- hw/arm/aspeed.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index e0e0877b1d..df627096d2 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -1152,6 +1152,11 @@ static const char * const ast2400_a1_valid_cpu_types[] = { NULL }; +static const char * const ast2500_a1_valid_cpu_types[] = { +ARM_CPU_TYPE_NAME("arm1176"), +NULL +}; + static void aspeed_machine_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); @@ -1236,6 +1241,7 @@ static void aspeed_machine_supermicro_x11spi_bmc_class_init(ObjectClass *oc, amc->num_cs= 1; amc->macs_mask = ASPEED_MAC0_ON | ASPEED_MAC1_ON; amc->i2c_init = palmetto_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1253,6 +1259,7 @@ static void aspeed_machine_ast2500_evb_class_init(ObjectClass *oc, void *data) amc->spi_model = "mx25l25635f"; amc->num_cs= 1; amc->i2c_init = ast2500_evb_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1271,6 +1278,7 @@ static void aspeed_machine_yosemitev2_class_init(ObjectClass *oc, void *data) amc->spi_model = "mx25l25635e"; amc->num_cs= 2; amc->i2c_init = yosemitev2_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1288,6 +1296,7 @@ static void aspeed_machine_romulus_class_init(ObjectClass *oc, void *data) amc->spi_model = "mx66l1g45g"; amc->num_cs= 2; amc->i2c_init = romulus_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1306,6 +1315,7 @@ static void aspeed_machine_tiogapass_class_init(ObjectClass *oc, void *data) amc->spi_model = "mx25l25635e"; amc->num_cs= 2; amc->i2c_init = tiogapass_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 1 * GiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1324,6 +1334,7 @@ static void aspeed_machine_sonorapass_class_init(ObjectClass *oc, void *data) amc->spi_model = "mx66l1g45g"; amc->num_cs= 2; amc->i2c_init = sonorapass_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1341,6 +1352,7 @@ static void aspeed_machine_witherspoon_class_init(ObjectClass *oc, void *data) amc->spi_model = "mx66l1g45g"; amc->num_cs= 2; amc->i2c_init = witherspoon_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1398,6 +1410,7 @@ static void aspeed_machine_g220a_class_init(ObjectClass *oc, void *data) amc->num_cs= 2; amc->macs_mask = ASPEED_MAC0_ON | ASPEED_MAC1_ON; amc->i2c_init = g220a_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 1024 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); @@ -1416,6 +1429,7 @@ static void aspeed_machine_fp5280g2_class_init(ObjectClass *oc, void *data) amc->num_cs= 2; amc->macs_mask = ASPEED_MAC0_ON | ASPEED_MAC1_ON; amc->i2c_init = fp5280g2_bmc_i2c_init; +mc->valid_cpu_types = ast2500_a1_valid_cpu_types; mc->default_ram_size = 512 * MiB; mc->default_cpus = mc->min_cpus = mc->max_cpus = aspeed_soc_num_cpus(amc->soc_name); -- 2.41.0