diff --git a/qemu/target/mips/cpu.c b/qemu/target/mips/cpu.c index b883b122..053f2231 100644 --- a/qemu/target/mips/cpu.c +++ b/qemu/target/mips/cpu.c @@ -108,8 +108,11 @@ static void mips_cpu_reset(CPUState *s) static int mips_cpu_realizefn(struct uc_struct *uc, DeviceState *dev, Error **errp) { CPUState *cs = CPU(dev); + MIPSCPU *cpu = MIPS_CPU(uc, dev); MIPSCPUClass *mcc = MIPS_CPU_GET_CLASS(uc, dev); + cpu_mips_realize_env(&cpu->env); + cpu_reset(cs); qemu_init_vcpu(cs); diff --git a/qemu/target/mips/translate.c b/qemu/target/mips/translate.c index 0c1f0037..51b17eb6 100644 --- a/qemu/target/mips/translate.c +++ b/qemu/target/mips/translate.c @@ -20740,8 +20740,6 @@ MIPSCPU *cpu_mips_init(struct uc_struct *uc, const char *cpu_model) env = &cpu->env; env->cpu_model = def; - cpu_mips_realize_env(env); - object_property_set_bool(uc, OBJECT(cpu), true, "realized", NULL); return cpu;