hw/arm/msf2: Simplify setting MachineClass::valid_cpu_types[]
The M2Sxxx SoC family can only be used with Cortex-M3.
Propagating the CPU type from the board level is pointless.
Hard-code the CPU type at the SoC level.
Remove the now ignored MachineClass::default_cpu_type field.
Use the common code introduced in commit c9cf636d48
("machine: Add
a valid_cpu_types property") to check for valid CPU type at the
board level.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240129151828.59544-6-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
104395bc66
commit
04f4915424
@ -134,7 +134,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp)
|
||||
|
||||
armv7m = DEVICE(&s->armv7m);
|
||||
qdev_prop_set_uint32(armv7m, "num-irq", 81);
|
||||
qdev_prop_set_string(armv7m, "cpu-type", s->cpu_type);
|
||||
qdev_prop_set_string(armv7m, "cpu-type", ARM_CPU_TYPE_NAME("cortex-m3"));
|
||||
qdev_prop_set_bit(armv7m, "enable-bitband", true);
|
||||
qdev_connect_clock_in(armv7m, "cpuclk", s->m3clk);
|
||||
qdev_connect_clock_in(armv7m, "refclk", s->refclk);
|
||||
@ -231,7 +231,6 @@ static Property m2sxxx_soc_properties[] = {
|
||||
* part name specifies the type of SmartFusion2 device variant(this
|
||||
* property is for information purpose only.
|
||||
*/
|
||||
DEFINE_PROP_STRING("cpu-type", MSF2State, cpu_type),
|
||||
DEFINE_PROP_STRING("part-name", MSF2State, part_name),
|
||||
DEFINE_PROP_UINT64("eNVM-size", MSF2State, envm_size, MSF2_ENVM_MAX_SIZE),
|
||||
DEFINE_PROP_UINT64("eSRAM-size", MSF2State, esram_size,
|
||||
|
@ -47,7 +47,6 @@ static void emcraft_sf2_s2s010_init(MachineState *machine)
|
||||
DeviceState *dev;
|
||||
DeviceState *spi_flash;
|
||||
MSF2State *soc;
|
||||
MachineClass *mc = MACHINE_GET_CLASS(machine);
|
||||
DriveInfo *dinfo = drive_get(IF_MTD, 0, 0);
|
||||
qemu_irq cs_line;
|
||||
BusState *spi_bus;
|
||||
@ -62,8 +61,6 @@ static void emcraft_sf2_s2s010_init(MachineState *machine)
|
||||
dev = qdev_new(TYPE_MSF2_SOC);
|
||||
object_property_add_child(OBJECT(machine), "soc", OBJECT(dev));
|
||||
qdev_prop_set_string(dev, "part-name", "M2S010");
|
||||
qdev_prop_set_string(dev, "cpu-type", mc->default_cpu_type);
|
||||
|
||||
qdev_prop_set_uint64(dev, "eNVM-size", M2S010_ENVM_SIZE);
|
||||
qdev_prop_set_uint64(dev, "eSRAM-size", M2S010_ESRAM_SIZE);
|
||||
|
||||
@ -108,7 +105,6 @@ static void emcraft_sf2_machine_init(MachineClass *mc)
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -47,13 +47,10 @@ OBJECT_DECLARE_SIMPLE_TYPE(MSF2State, MSF2_SOC)
|
||||
#define MSF2_NUM_TIMERS 2
|
||||
|
||||
struct MSF2State {
|
||||
/*< private >*/
|
||||
SysBusDevice parent_obj;
|
||||
/*< public >*/
|
||||
|
||||
ARMv7MState armv7m;
|
||||
|
||||
char *cpu_type;
|
||||
char *part_name;
|
||||
uint64_t envm_size;
|
||||
uint64_t esram_size;
|
||||
|
Loading…
Reference in New Issue
Block a user