diff options
author | Igor Mammedov | 2017-10-05 15:50:57 +0200 |
---|---|---|
committer | Eduardo Habkost | 2017-10-27 16:04:27 +0200 |
commit | 633cd135561636bc2a53b747274bacac747154f5 (patch) | |
tree | c67866dbf2bc44917aa90a8a24a32a44c7521f16 /target/sh4 | |
parent | sh4: simplify superh_cpu_class_by_name() (diff) | |
download | qemu-633cd135561636bc2a53b747274bacac747154f5.tar.gz qemu-633cd135561636bc2a53b747274bacac747154f5.tar.xz qemu-633cd135561636bc2a53b747274bacac747154f5.zip |
sh4: remove SuperHCPUClass::name field
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 <imammedo@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <1507211474-188400-24-git-send-email-imammedo@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'target/sh4')
-rw-r--r-- | target/sh4/cpu-qom.h | 2 | ||||
-rw-r--r-- | 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 17deeb661b..0f9fb4dd31 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 972c809d8c..e0b99fbc89 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; |