From 5b0c40f7460a017d0322d942a6abda9e8815676b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Mon, 16 Apr 2012 02:37:56 +0200 Subject: target-mips: Start QOM'ifying CPU init MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Richard Henderson --- target-mips/cpu.c | 9 +++++++++ target-mips/translate.c | 1 - 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'target-mips') diff --git a/target-mips/cpu.c b/target-mips/cpu.c index d573ec8be8..004406232b 100644 --- a/target-mips/cpu.c +++ b/target-mips/cpu.c @@ -34,6 +34,14 @@ static void mips_cpu_reset(CPUState *s) 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) { MIPSCPUClass *mcc = MIPS_CPU_CLASS(c); @@ -47,6 +55,7 @@ static const TypeInfo mips_cpu_type_info = { .name = TYPE_MIPS_CPU, .parent = TYPE_CPU, .instance_size = sizeof(MIPSCPU), + .instance_init = mips_cpu_initfn, .abstract = false, .class_size = sizeof(MIPSCPUClass), .class_init = mips_cpu_class_init, diff --git a/target-mips/translate.c b/target-mips/translate.c index b10ec2196a..f5297b0392 100644 --- a/target-mips/translate.c +++ b/target-mips/translate.c @@ -12703,7 +12703,6 @@ CPUMIPSState *cpu_mips_init (const char *cpu_model) env->cpu_model = def; env->cpu_model_str = cpu_model; - cpu_exec_init(env); #ifndef CONFIG_USER_ONLY mmu_init(env, def); #endif -- cgit v1.2.1