mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-04-17 08:32:07 +00:00
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:
parent
c4f351394f
commit
3257a8f8c3
|
@ -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',
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in a new issue