target-mips: Start QOM'ifying CPU init
Move code not dependent on mips_def_t from cpu_mips_init() into a QOM initfn, as a start. Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
0f71a7095d
commit
5b0c40f746
@ -34,6 +34,14 @@ static void mips_cpu_reset(CPUState *s)
|
|||||||
cpu_state_reset(env);
|
cpu_state_reset(env);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mips_cpu_initfn(Object *obj)
|
||||||
|
{
|
||||||
|
MIPSCPU *cpu = MIPS_CPU(obj);
|
||||||
|
CPUMIPSState *env = &cpu->env;
|
||||||
|
|
||||||
|
cpu_exec_init(env);
|
||||||
|
}
|
||||||
|
|
||||||
static void mips_cpu_class_init(ObjectClass *c, void *data)
|
static void mips_cpu_class_init(ObjectClass *c, void *data)
|
||||||
{
|
{
|
||||||
MIPSCPUClass *mcc = MIPS_CPU_CLASS(c);
|
MIPSCPUClass *mcc = MIPS_CPU_CLASS(c);
|
||||||
@ -47,6 +55,7 @@ static const TypeInfo mips_cpu_type_info = {
|
|||||||
.name = TYPE_MIPS_CPU,
|
.name = TYPE_MIPS_CPU,
|
||||||
.parent = TYPE_CPU,
|
.parent = TYPE_CPU,
|
||||||
.instance_size = sizeof(MIPSCPU),
|
.instance_size = sizeof(MIPSCPU),
|
||||||
|
.instance_init = mips_cpu_initfn,
|
||||||
.abstract = false,
|
.abstract = false,
|
||||||
.class_size = sizeof(MIPSCPUClass),
|
.class_size = sizeof(MIPSCPUClass),
|
||||||
.class_init = mips_cpu_class_init,
|
.class_init = mips_cpu_class_init,
|
||||||
|
@ -12703,7 +12703,6 @@ CPUMIPSState *cpu_mips_init (const char *cpu_model)
|
|||||||
env->cpu_model = def;
|
env->cpu_model = def;
|
||||||
env->cpu_model_str = cpu_model;
|
env->cpu_model_str = cpu_model;
|
||||||
|
|
||||||
cpu_exec_init(env);
|
|
||||||
#ifndef CONFIG_USER_ONLY
|
#ifndef CONFIG_USER_ONLY
|
||||||
mmu_init(env, def);
|
mmu_init(env, def);
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user