Message ID | 20230907003553.1636896-31-gshan@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Unified CPU type check | expand |
On 7/9/23 02:35, Gavin Shan wrote: > Set mc->valid_cpu_types so that the user specified CPU type can > be validated in machine_run_board_init(). We needn't to do it > by ourselves. > > Signed-off-by: Gavin Shan <gshan@redhat.com> > --- > hw/arm/sbsa-ref.c | 21 +++------------------ > 1 file changed, 3 insertions(+), 18 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
On Thu, Sep 07, 2023 at 10:35:51 +1000, Gavin Shan wrote: > Set mc->valid_cpu_types so that the user specified CPU type can > be validated in machine_run_board_init(). We needn't to do it > by ourselves. > > Signed-off-by: Gavin Shan <gshan@redhat.com> Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com> > --- > hw/arm/sbsa-ref.c | 21 +++------------------ > 1 file changed, 3 insertions(+), 18 deletions(-) > > diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c > index bc89eb4806..f24be53ea2 100644 > --- a/hw/arm/sbsa-ref.c > +++ b/hw/arm/sbsa-ref.c > @@ -149,26 +149,15 @@ static const int sbsa_ref_irqmap[] = { > [SBSA_GWDT_WS0] = 16, > }; > > -static const char * const valid_cpus[] = { > +static const char * const valid_cpu_types[] = { > ARM_CPU_TYPE_NAME("cortex-a57"), > ARM_CPU_TYPE_NAME("cortex-a72"), > ARM_CPU_TYPE_NAME("neoverse-n1"), > ARM_CPU_TYPE_NAME("neoverse-v1"), > 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 uint64_t sbsa_ref_cpu_mp_affinity(SBSAMachineState *sms, int idx) > { > uint8_t clustersz = ARM_DEFAULT_CPUS_PER_CLUSTER; > @@ -730,11 +719,6 @@ static void sbsa_ref_init(MachineState *machine) > const CPUArchIdList *possible_cpus; > int n, sbsa_max_cpus; > > - if (!cpu_type_valid(machine->cpu_type)) { > - error_report("sbsa-ref: CPU type %s not supported", machine->cpu_type); > - exit(1); > - } > - > if (kvm_enabled()) { > error_report("sbsa-ref: KVM is not supported for this machine"); > exit(1); > @@ -899,6 +883,7 @@ static void sbsa_ref_class_init(ObjectClass *oc, void *data) > mc->init = sbsa_ref_init; > mc->desc = "QEMU 'SBSA Reference' ARM Virtual Machine"; > mc->default_cpu_type = ARM_CPU_TYPE_NAME("neoverse-n1"); > + mc->valid_cpu_types = valid_cpu_types; > mc->max_cpus = 512; > mc->pci_allow_0_address = true; > mc->minimum_page_bits = 12; > -- > 2.41.0 >
diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c index bc89eb4806..f24be53ea2 100644 --- a/hw/arm/sbsa-ref.c +++ b/hw/arm/sbsa-ref.c @@ -149,26 +149,15 @@ static const int sbsa_ref_irqmap[] = { [SBSA_GWDT_WS0] = 16, }; -static const char * const valid_cpus[] = { +static const char * const valid_cpu_types[] = { ARM_CPU_TYPE_NAME("cortex-a57"), ARM_CPU_TYPE_NAME("cortex-a72"), ARM_CPU_TYPE_NAME("neoverse-n1"), ARM_CPU_TYPE_NAME("neoverse-v1"), 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 uint64_t sbsa_ref_cpu_mp_affinity(SBSAMachineState *sms, int idx) { uint8_t clustersz = ARM_DEFAULT_CPUS_PER_CLUSTER; @@ -730,11 +719,6 @@ static void sbsa_ref_init(MachineState *machine) const CPUArchIdList *possible_cpus; int n, sbsa_max_cpus; - if (!cpu_type_valid(machine->cpu_type)) { - error_report("sbsa-ref: CPU type %s not supported", machine->cpu_type); - exit(1); - } - if (kvm_enabled()) { error_report("sbsa-ref: KVM is not supported for this machine"); exit(1); @@ -899,6 +883,7 @@ static void sbsa_ref_class_init(ObjectClass *oc, void *data) mc->init = sbsa_ref_init; mc->desc = "QEMU 'SBSA Reference' ARM Virtual Machine"; mc->default_cpu_type = ARM_CPU_TYPE_NAME("neoverse-n1"); + mc->valid_cpu_types = valid_cpu_types; mc->max_cpus = 512; mc->pci_allow_0_address = true; mc->minimum_page_bits = 12;
Set mc->valid_cpu_types so that the user specified CPU type can be validated in machine_run_board_init(). We needn't to do it by ourselves. Signed-off-by: Gavin Shan <gshan@redhat.com> --- hw/arm/sbsa-ref.c | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-)