mips: split cpu_mips_realize_env() out of cpu_mips_init()

so it can be used in mips_cpu_realizefn() in the next commit

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Tested-by: James Hogan <james.hogan@imgtec.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Yongbok Kim <yongbok.kim@imgtec.com>
This commit is contained in:
Philippe Mathieu-Daudé 2017-09-20 16:49:31 -03:00 committed by Yongbok Kim
parent 26aa3d9aec
commit 27e38392ca
2 changed files with 13 additions and 7 deletions

View file

@ -132,6 +132,7 @@ void mips_tcg_init(void);
/* TODO QOM'ify CPU reset and remove */
void cpu_state_reset(CPUMIPSState *s);
void cpu_mips_realize_env(CPUMIPSState *env);
/* cp0_timer.c */
uint32_t cpu_mips_get_random(CPUMIPSState *env);

View file

@ -20512,6 +20512,17 @@ void mips_tcg_init(void)
#include "translate_init.c"
void cpu_mips_realize_env(CPUMIPSState *env)
{
env->exception_base = (int32_t)0xBFC00000;
#ifndef CONFIG_USER_ONLY
mmu_init(env, env->cpu_model);
#endif
fpu_init(env, env->cpu_model);
mvp_init(env, env->cpu_model);
}
MIPSCPU *cpu_mips_init(const char *cpu_model)
{
MIPSCPU *cpu;
@ -20524,13 +20535,7 @@ MIPSCPU *cpu_mips_init(const char *cpu_model)
cpu = MIPS_CPU(object_new(TYPE_MIPS_CPU));
env = &cpu->env;
env->cpu_model = def;
env->exception_base = (int32_t)0xBFC00000;
#ifndef CONFIG_USER_ONLY
mmu_init(env, def);
#endif
fpu_init(env, def);
mvp_init(env, def);
cpu_mips_realize_env(env);
object_property_set_bool(OBJECT(cpu), true, "realized", NULL);