On Thu, 13 Jul 2023 15:45:01 +1000 Gavin Shan <gs...@redhat.com> wrote:
> There is a generic CPU type invalidation in machine_run_board_init() ^^^^^ using that throughout the series is confusing to me. Perhaps use original phrase 'valid cpu types' with appropriate rephrasing would be better > and we needn't a same and private invalidation. Set mc->valid_cpu_types > to use the generic CPU type invalidation. I's suggest to replace commit message/subj with something like arm/virt specific cpu_type_valid() is duplicate of ... drop it and use ... > No functional change intended. > > Signed-off-by: Gavin Shan <gs...@redhat.com> > --- > hw/arm/virt.c | 21 +++------------------ > 1 file changed, 3 insertions(+), 18 deletions(-) > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index 7d9dbc2663..43d7772ffd 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -203,7 +203,7 @@ static const int a15irqmap[] = { > [VIRT_PLATFORM_BUS] = 112, /* ...to 112 + PLATFORM_BUS_NUM_IRQS -1 */ > }; > > -static const char *valid_cpus[] = { > +static const char *valid_cpu_types[] = { > #ifdef CONFIG_TCG > ARM_CPU_TYPE_NAME("cortex-a7"), > ARM_CPU_TYPE_NAME("cortex-a15"), > @@ -219,20 +219,9 @@ static const char *valid_cpus[] = { > ARM_CPU_TYPE_NAME("cortex-a57"), > ARM_CPU_TYPE_NAME("host"), > ARM_CPU_TYPE_NAME("max"), > + NULL > }; > > -static bool cpu_type_valid(const char *cpu) > -{ > - int i; > - > - for (i = 0; i < ARRAY_SIZE(valid_cpus); i++) { > - if (strcmp(cpu, valid_cpus[i]) == 0) { > - return true; > - } > - } > - return false; > -} > - > static void create_randomness(MachineState *ms, const char *node) > { > struct { > @@ -2030,11 +2019,6 @@ static void machvirt_init(MachineState *machine) > unsigned int smp_cpus = machine->smp.cpus; > unsigned int max_cpus = machine->smp.max_cpus; > > - if (!cpu_type_valid(machine->cpu_type)) { > - error_report("mach-virt: CPU type %s not supported", > machine->cpu_type); > - exit(1); > - } > - > possible_cpus = mc->possible_cpu_arch_ids(machine); > > /* > @@ -2953,6 +2937,7 @@ static void virt_machine_class_init(ObjectClass *oc, > void *data) > #else > mc->default_cpu_type = ARM_CPU_TYPE_NAME("max"); > #endif > + mc->valid_cpu_types = valid_cpu_types; > mc->get_default_cpu_node_id = virt_get_default_cpu_node_id; > mc->kvm_type = virt_kvm_type; > assert(!mc->get_hotplug_handler);