mips: split cpu_mips_realize_env() out of cpu_mips_init()

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

Backports commit 27e38392ca07f97edfb2257b6a1394a04d84e8d5 from qemu
This commit is contained in:
Philippe Mathieu-Daudé 2018-03-05 00:27:22 -05:00 committed by Lioncash
parent c4f351394f
commit 3257a8f8c3
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7
7 changed files with 18 additions and 6 deletions

View file

@ -3510,6 +3510,7 @@ mips_symbols = (
'cpu_mips_kseg0_to_phys',
'cpu_mips_kvm_um_phys_to_kseg0',
'cpu_mips_phys_to_kseg0',
'cpu_mips_realize_env',
'cpu_mips_start_count',
'cpu_mips_stop_count',
'cpu_mips_store_cause',

View file

@ -3444,6 +3444,7 @@
#define cpu_mips_kseg0_to_phys cpu_mips_kseg0_to_phys_mips
#define cpu_mips_kvm_um_phys_to_kseg0 cpu_mips_kvm_um_phys_to_kseg0_mips
#define cpu_mips_phys_to_kseg0 cpu_mips_phys_to_kseg0_mips
#define cpu_mips_realize_env cpu_mips_realize_env_mips
#define cpu_mips_start_count cpu_mips_start_count_mips
#define cpu_mips_stop_count cpu_mips_stop_count_mips
#define cpu_mips_store_cause cpu_mips_store_cause_mips

View file

@ -3444,6 +3444,7 @@
#define cpu_mips_kseg0_to_phys cpu_mips_kseg0_to_phys_mips64
#define cpu_mips_kvm_um_phys_to_kseg0 cpu_mips_kvm_um_phys_to_kseg0_mips64
#define cpu_mips_phys_to_kseg0 cpu_mips_phys_to_kseg0_mips64
#define cpu_mips_realize_env cpu_mips_realize_env_mips64
#define cpu_mips_start_count cpu_mips_start_count_mips64
#define cpu_mips_stop_count cpu_mips_stop_count_mips64
#define cpu_mips_store_cause cpu_mips_store_cause_mips64

View file

@ -3444,6 +3444,7 @@
#define cpu_mips_kseg0_to_phys cpu_mips_kseg0_to_phys_mips64el
#define cpu_mips_kvm_um_phys_to_kseg0 cpu_mips_kvm_um_phys_to_kseg0_mips64el
#define cpu_mips_phys_to_kseg0 cpu_mips_phys_to_kseg0_mips64el
#define cpu_mips_realize_env cpu_mips_realize_env_mips64el
#define cpu_mips_start_count cpu_mips_start_count_mips64el
#define cpu_mips_stop_count cpu_mips_stop_count_mips64el
#define cpu_mips_store_cause cpu_mips_store_cause_mips64el

View file

@ -3444,6 +3444,7 @@
#define cpu_mips_kseg0_to_phys cpu_mips_kseg0_to_phys_mipsel
#define cpu_mips_kvm_um_phys_to_kseg0 cpu_mips_kvm_um_phys_to_kseg0_mipsel
#define cpu_mips_phys_to_kseg0 cpu_mips_phys_to_kseg0_mipsel
#define cpu_mips_realize_env cpu_mips_realize_env_mipsel
#define cpu_mips_start_count cpu_mips_start_count_mipsel
#define cpu_mips_stop_count cpu_mips_stop_count_mipsel
#define cpu_mips_store_cause cpu_mips_store_cause_mipsel

View file

@ -132,6 +132,7 @@ void mips_tcg_init(struct uc_struct *uc);
/* 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

@ -20716,6 +20716,17 @@ void mips_tcg_init(struct uc_struct *uc)
#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(struct uc_struct *uc, const char *cpu_model)
{
MIPSCPU *cpu;
@ -20728,13 +20739,8 @@ MIPSCPU *cpu_mips_init(struct uc_struct *uc, const char *cpu_model)
cpu = MIPS_CPU(uc, object_new(uc, 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(uc, OBJECT(cpu), true, "realized", NULL);