Message ID | 20240123222508.13826-5-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | hw/arm/cortex-a: Check for CPU types in machine_run_board_init() | expand |
On 1/24/24 08:25, Philippe Mathieu-Daudé wrote: > Restrict MachineClass::valid_cpu_types[] to the single > valid CPU types. > > Instead of ignoring invalid CPU type requested by the user: > > $ qemu-system-arm -M midway -cpu cortex-a7 -S -monitor stdio > QEMU 8.2.50 monitor - type 'help' for more information > (qemu) info qom-tree > /machine (midway-machine) > /cpu[0] (cortex-a15-arm-cpu) > ... > > we now display an error: > > $ qemu-system-arm -M midway -cpu cortex-a7 > qemu-system-arm: Invalid CPU model: cortex-a7 > The only valid type is: cortex-a15 > > Signed-off-by: Philippe Mathieu-Daudé<philmd@linaro.org> > --- > hw/arm/highbank.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
On 1/24/24 08:25, Philippe Mathieu-Daudé wrote: > Restrict MachineClass::valid_cpu_types[] to the single > valid CPU types. > > Instead of ignoring invalid CPU type requested by the user: > > $ qemu-system-arm -M midway -cpu cortex-a7 -S -monitor stdio > QEMU 8.2.50 monitor - type 'help' for more information > (qemu) info qom-tree > /machine (midway-machine) > /cpu[0] (cortex-a15-arm-cpu) > ... > > we now display an error: > > $ qemu-system-arm -M midway -cpu cortex-a7 > qemu-system-arm: Invalid CPU model: cortex-a7 > The only valid type is: cortex-a15 > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > hw/arm/highbank.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > Reviewed-by: Gavin Shan <gshan@redhat.com>
diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c index b8d702c82c..0367050697 100644 --- a/hw/arm/highbank.c +++ b/hw/arm/highbank.c @@ -345,10 +345,15 @@ static void midway_init(MachineState *machine) static void highbank_class_init(ObjectClass *oc, void *data) { + static const char * const valid_cpu_types[] = { + ARM_CPU_TYPE_NAME("cortex-a9"), + NULL + }; MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "Calxeda Highbank (ECX-1000)"; mc->init = highbank_init; + mc->valid_cpu_types = valid_cpu_types; mc->block_default_type = IF_IDE; mc->units_per_default_bus = 1; mc->max_cpus = 4; @@ -364,10 +369,15 @@ static const TypeInfo highbank_type = { static void midway_class_init(ObjectClass *oc, void *data) { + static const char * const valid_cpu_types[] = { + ARM_CPU_TYPE_NAME("cortex-a15"), + NULL + }; MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "Calxeda Midway (ECX-2000)"; mc->init = midway_init; + mc->valid_cpu_types = valid_cpu_types; mc->block_default_type = IF_IDE; mc->units_per_default_bus = 1; mc->max_cpus = 4;
Restrict MachineClass::valid_cpu_types[] to the single valid CPU types. Instead of ignoring invalid CPU type requested by the user: $ qemu-system-arm -M midway -cpu cortex-a7 -S -monitor stdio QEMU 8.2.50 monitor - type 'help' for more information (qemu) info qom-tree /machine (midway-machine) /cpu[0] (cortex-a15-arm-cpu) ... we now display an error: $ qemu-system-arm -M midway -cpu cortex-a7 qemu-system-arm: Invalid CPU model: cortex-a7 The only valid type is: cortex-a15 Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- hw/arm/highbank.c | 10 ++++++++++ 1 file changed, 10 insertions(+)