aboutsummaryrefslogtreecommitdiff
path: root/target-mips/translate_init.c
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-06-01 11:47:24 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-06-01 11:47:24 +0000
commita7037b2950629ab1a305a7f5c6909e749d72b5d0 (patch)
treea821c23e1d7f5490e0789811d0160d878e6bf782 /target-mips/translate_init.c
parent278d070272537a8ff1a3052cea0b20a66d8a8e95 (diff)
Allow again FPU for usermode emulation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2905 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips/translate_init.c')
-rw-r--r--target-mips/translate_init.c7
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);