qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 21/38] sh4: remove SuperHCPUClass::name field


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH 21/38] sh4: remove SuperHCPUClass::name field
Date: Thu, 5 Oct 2017 09:42:08 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0

On 10/02/2017 06:08 AM, Igor Mammedov wrote:
> the field contains upper-cased cpu model name and is used
> for printing supported cpu model names for '-cpu help'.
> 
> Considering that cpu model lookup in superh_cpu_class_by_name()
> is case-insensitive, we can drop upper-casing when
> printing supported cpus list and use cpu type directly
> to do the same by cutting out SUPERH_CPU_TYPE_SUFFIX from
> typename.
> 
> It allows to remove SuperHCPUClass::name, which practically
> duplicates names defined by TYPE_SH*_CPU definitions and
> simplify sh*_class_init()/SuperHCPUClass a bit.
> 
> Signed-off-by: Igor Mammedov <address@hidden>

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

> ---
> CC: address@hidden
> ---
>  target/sh4/cpu-qom.h |  2 --
>  target/sh4/cpu.c     | 10 +++-------
>  2 files changed, 3 insertions(+), 9 deletions(-)
> 
> diff --git a/target/sh4/cpu-qom.h b/target/sh4/cpu-qom.h
> index 17deeb6..0f9fb4d 100644
> --- a/target/sh4/cpu-qom.h
> +++ b/target/sh4/cpu-qom.h
> @@ -39,7 +39,6 @@
>   * SuperHCPUClass:
>   * @parent_realize: The parent class' realize handler.
>   * @parent_reset: The parent class' reset handler.
> - * @name: The name.
>   * @pvr: Processor Version Register
>   * @prr: Processor Revision Register
>   * @cvr: Cache Version Register
> @@ -54,7 +53,6 @@ typedef struct SuperHCPUClass {
>      DeviceRealize parent_realize;
>      void (*parent_reset)(CPUState *cpu);
>  
> -    const char *name;
>      uint32_t pvr;
>      uint32_t prr;
>      uint32_t cvr;
> diff --git a/target/sh4/cpu.c b/target/sh4/cpu.c
> index b71ff01..8dfbdeb 100644
> --- a/target/sh4/cpu.c
> +++ b/target/sh4/cpu.c
> @@ -98,12 +98,11 @@ static gint superh_cpu_list_compare(gconstpointer a, 
> gconstpointer b)
>  
>  static void superh_cpu_list_entry(gpointer data, gpointer user_data)
>  {
> -    ObjectClass *oc = data;
> -    SuperHCPUClass *scc = SUPERH_CPU_CLASS(oc);
>      SuperHCPUListState *s = user_data;
> +    const char *typename = object_class_get_name(OBJECT_CLASS(data));
> +    int len = strlen(typename) - strlen(SUPERH_CPU_TYPE_SUFFIX);
>  
> -    (*s->cpu_fprintf)(s->file, "%s\n",
> -                      scc->name);
> +    (*s->cpu_fprintf)(s->file, "%.*s\n", len, typename);
>  }
>  
>  void sh4_cpu_list(FILE *f, fprintf_function cpu_fprintf)
> @@ -156,7 +155,6 @@ static void sh7750r_class_init(ObjectClass *oc, void 
> *data)
>  {
>      SuperHCPUClass *scc = SUPERH_CPU_CLASS(oc);
>  
> -    scc->name = "SH7750R";
>      scc->pvr = 0x00050000;
>      scc->prr = 0x00000100;
>      scc->cvr = 0x00110000;
> @@ -175,7 +173,6 @@ static void sh7751r_class_init(ObjectClass *oc, void 
> *data)
>  {
>      SuperHCPUClass *scc = SUPERH_CPU_CLASS(oc);
>  
> -    scc->name = "SH7751R";
>      scc->pvr = 0x04050005;
>      scc->prr = 0x00000113;
>      scc->cvr = 0x00110000; /* Neutered caches, should be 0x20480000 */
> @@ -194,7 +191,6 @@ static void sh7785_class_init(ObjectClass *oc, void *data)
>  {
>      SuperHCPUClass *scc = SUPERH_CPU_CLASS(oc);
>  
> -    scc->name = "SH7785";
>      scc->pvr = 0x10300700;
>      scc->prr = 0x00000200;
>      scc->cvr = 0x71440211;
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]