[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;
>
- Re: [Qemu-devel] [PATCH 15/38] openrisc: cleanup cpu type name composition, (continued)
- [Qemu-devel] [PATCH 21/38] sh4: remove SuperHCPUClass::name field, Igor Mammedov, 2017/10/02
- Re: [Qemu-devel] [PATCH 21/38] sh4: remove SuperHCPUClass::name field,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH 23/38] xtensa: sim: use generic cpu_model parsing, Igor Mammedov, 2017/10/02
- [Qemu-devel] [PATCH 28/38] tricore: use generic cpu_model parsing, Igor Mammedov, 2017/10/02
- [Qemu-devel] [PATCH 24/38] xtensa: lx60/lx200/ml605/kc705: use generic cpu_model parsing, Igor Mammedov, 2017/10/02
- [Qemu-devel] [PATCH 26/38] unicore32: use generic cpu_model parsing, Igor Mammedov, 2017/10/02
- [Qemu-devel] [PATCH 27/38] tricore: cleanup cpu type name composition, Igor Mammedov, 2017/10/02