Re: [PATCH for-7.1 1/4] target/loongarch: Only allow short -cpu arguments without type name suffix

2022-08-15 Thread Igor Mammedov
On Sun, 14 Aug 2022 22:55:19 +0800
WANG Xuerui  wrote:

> From: WANG Xuerui 
> 
> 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 
> ---
>  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)




Re: [PATCH for-7.1 1/4] target/loongarch: Only allow short -cpu arguments without type name suffix

2022-08-14 Thread Richard Henderson

On 8/14/22 09:55, WANG Xuerui wrote:

From: WANG Xuerui 

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 


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)





[PATCH for-7.1 1/4] target/loongarch: Only allow short -cpu arguments without type name suffix

2022-08-14 Thread WANG Xuerui
From: WANG Xuerui 

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 
---
 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)
-- 
2.35.1