Re: [PATCH 5/8] hw/arm/aspeed/2500: Check for CPU types in machine_run_board_init()

2024-01-23 Thread Cédric Le Goater

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()

2024-01-22 Thread Philippe Mathieu-Daudé
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