diff options
Diffstat (limited to 'target-mips/translate_init.c')
-rw-r--r-- | target-mips/translate_init.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/target-mips/translate_init.c b/target-mips/translate_init.c index e14b7348c1..ac62fad605 100644 --- a/target-mips/translate_init.c +++ b/target-mips/translate_init.c @@ -225,7 +225,12 @@ int cpu_mips_register (CPUMIPSState *env, mips_def_t *def) env->CCRes = def->CCRes; env->Status_rw_bitmask = def->Status_rw_bitmask; env->fcr0 = def->CP1_fcr0; -#ifndef CONFIG_USER_ONLY +#ifdef CONFIG_USER_ONLY + if (env->CP0_Config1 & (1 << CP0C1_FP)) + env->hflags |= MIPS_HFLAG_FPU; + if (env->fcr0 & (1 << FCR0_F64)) + env->hflags |= MIPS_HFLAG_F64; +#else switch ((env->CP0_Config0 >> CP0C0_MT) & 3) { case 0: no_mmu_init(env, def); |