提交 8fc24ad5 编写于 作者: I Igor Mammedov 提交者: Eduardo Habkost

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: NIgor Mammedov <imammedo@redhat.com>
Acked-by: NRichard Henderson <rth@twiddle.net>
Message-Id: <1503592308-93913-11-git-send-email-imammedo@redhat.com>
Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
上级 82a3d1f8
......@@ -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;
......
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册