Message ID | 20220814145522.1474927-2-i.qemu@xen0n.name (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Last-minute LoongArch CPU model naming tweaks | expand |
On 8/14/22 09:55, WANG Xuerui wrote: > From: WANG Xuerui <git@xen0n.name> > > Previously both "foo" and "foo-loongarch-cpu" are accepted for the -cpu > command-line option, the latter of which being excessively long and > redundant, hence unwanted. Remove support for consistency with other > targets and simpler code. > > Signed-off-by: WANG Xuerui <git@xen0n.name> This breaks testing, iirc, which is why both were accepted in the last change to this code. You could allow just the short name so long as you don't try to provide the long name in hw/loongarch/virt.c. r~ > --- > target/loongarch/cpu.c | 11 ++++------- > 1 file changed, 4 insertions(+), 7 deletions(-) > > diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c > index 941e2772bc..dc233ee209 100644 > --- a/target/loongarch/cpu.c > +++ b/target/loongarch/cpu.c > @@ -573,14 +573,11 @@ static ObjectClass *loongarch_cpu_class_by_name(const char *cpu_model) > { > ObjectClass *oc; > > - oc = object_class_by_name(cpu_model); > + g_autofree char *typename = g_strdup_printf(LOONGARCH_CPU_TYPE_NAME("%s"), > + cpu_model); > + oc = object_class_by_name(typename); > if (!oc) { > - g_autofree char *typename > - = g_strdup_printf(LOONGARCH_CPU_TYPE_NAME("%s"), cpu_model); > - oc = object_class_by_name(typename); > - if (!oc) { > - return NULL; > - } > + return NULL; > } > > if (object_class_dynamic_cast(oc, TYPE_LOONGARCH_CPU)
On Sun, 14 Aug 2022 22:55:19 +0800 WANG Xuerui <i.qemu@xen0n.name> wrote: > From: WANG Xuerui <git@xen0n.name> > > Previously both "foo" and "foo-loongarch-cpu" are accepted for the -cpu > command-line option, the latter of which being excessively long and > redundant, hence unwanted. Remove support for consistency with other > targets and simpler code. to be consistent wit -device and other (qmp/monitor interfaces) it's better to drop short variants (they are there mainly for compat reasons) and use only long names (i.e. complete type name). use avr_cpu_class_by_name() as an example > > Signed-off-by: WANG Xuerui <git@xen0n.name> > --- > target/loongarch/cpu.c | 11 ++++------- > 1 file changed, 4 insertions(+), 7 deletions(-) > > diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c > index 941e2772bc..dc233ee209 100644 > --- a/target/loongarch/cpu.c > +++ b/target/loongarch/cpu.c > @@ -573,14 +573,11 @@ static ObjectClass *loongarch_cpu_class_by_name(const char *cpu_model) > { > ObjectClass *oc; > > - oc = object_class_by_name(cpu_model); > + g_autofree char *typename = g_strdup_printf(LOONGARCH_CPU_TYPE_NAME("%s"), > + cpu_model); > + oc = object_class_by_name(typename); > if (!oc) { > - g_autofree char *typename > - = g_strdup_printf(LOONGARCH_CPU_TYPE_NAME("%s"), cpu_model); > - oc = object_class_by_name(typename); > - if (!oc) { > - return NULL; > - } > + return NULL; > } > > if (object_class_dynamic_cast(oc, TYPE_LOONGARCH_CPU)
diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c index 941e2772bc..dc233ee209 100644 --- a/target/loongarch/cpu.c +++ b/target/loongarch/cpu.c @@ -573,14 +573,11 @@ static ObjectClass *loongarch_cpu_class_by_name(const char *cpu_model) { ObjectClass *oc; - oc = object_class_by_name(cpu_model); + g_autofree char *typename = g_strdup_printf(LOONGARCH_CPU_TYPE_NAME("%s"), + cpu_model); + oc = object_class_by_name(typename); if (!oc) { - g_autofree char *typename - = g_strdup_printf(LOONGARCH_CPU_TYPE_NAME("%s"), cpu_model); - oc = object_class_by_name(typename); - if (!oc) { - return NULL; - } + return NULL; } if (object_class_dynamic_cast(oc, TYPE_LOONGARCH_CPU)