diff options
author | Igor Mammedov <imammedo@redhat.com> | 2017-08-24 18:31:33 +0200 |
---|---|---|
committer | Eduardo Habkost <ehabkost@redhat.com> | 2017-09-01 11:54:24 -0300 |
commit | 8fc24ad5dd081e5655ad0e87fbea2e0812235f5a (patch) | |
tree | 24b6fde162d846b48603fc5980e0106ebfc7f77d /target/hppa | |
parent | 82a3d1f81f8e401c6c34cba541970197aba2bb9a (diff) |
hppa: replace cpu_hppa_init() with cpu_generic_init()
drop custom cpu_hppa_init() in favor of cpu_generic_init(),
to make cpu_generic_init() work all we need is to provide
cc->class_by_name callback that would resolve any cpu_model
to the sole TYPE_HPPA_CPU to match current behaviour.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Acked-by: Richard Henderson <rth@twiddle.net>
Message-Id: <1503592308-93913-11-git-send-email-imammedo@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'target/hppa')
-rw-r--r-- | target/hppa/cpu.c | 11 | ||||
-rw-r--r-- | target/hppa/cpu.h | 4 |
2 files changed, 4 insertions, 11 deletions
diff --git a/target/hppa/cpu.c b/target/hppa/cpu.c index 30299e990d..a477b452f0 100644 --- a/target/hppa/cpu.c +++ b/target/hppa/cpu.c @@ -112,15 +112,9 @@ static void hppa_cpu_initfn(Object *obj) hppa_translate_init(); } -HPPACPU *cpu_hppa_init(const char *cpu_model) +static ObjectClass *hppa_cpu_class_by_name(const char *cpu_model) { - HPPACPU *cpu; - - cpu = HPPA_CPU(object_new(TYPE_HPPA_CPU)); - - object_property_set_bool(OBJECT(cpu), true, "realized", NULL); - - return cpu; + return object_class_by_name(TYPE_HPPA_CPU); } static void hppa_cpu_class_init(ObjectClass *oc, void *data) @@ -132,6 +126,7 @@ static void hppa_cpu_class_init(ObjectClass *oc, void *data) acc->parent_realize = dc->realize; dc->realize = hppa_cpu_realizefn; + cc->class_by_name = hppa_cpu_class_by_name; cc->do_interrupt = hppa_cpu_do_interrupt; cc->cpu_exec_interrupt = hppa_cpu_exec_interrupt; cc->dump_state = hppa_cpu_dump_state; diff --git a/target/hppa/cpu.h b/target/hppa/cpu.h index 4cf4ac65e3..8d14077763 100644 --- a/target/hppa/cpu.h +++ b/target/hppa/cpu.h @@ -112,9 +112,7 @@ static inline int cpu_mmu_index(CPUHPPAState *env, bool ifetch) void hppa_translate_init(void); -HPPACPU *cpu_hppa_init(const char *cpu_model); - -#define cpu_init(cpu_model) CPU(cpu_hppa_init(cpu_model)) +#define cpu_init(cpu_model) cpu_generic_init(TYPE_HPPA_CPU, cpu_model) void hppa_cpu_list(FILE *f, fprintf_function cpu_fprintf); |