mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
Move the active FPU registers into env again, and use more TCG registers
to access them. Signed-off-by: Thiemo Seufer <ths@networkno.de> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5252 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
a1cf28f469
commit
f01be15458
7 changed files with 338 additions and 322 deletions
|
@ -489,14 +489,17 @@ static void mmu_init (CPUMIPSState *env, const mips_def_t *def)
|
|||
|
||||
static void fpu_init (CPUMIPSState *env, const mips_def_t *def)
|
||||
{
|
||||
env->fpu = qemu_mallocz(sizeof(CPUMIPSFPUContext));
|
||||
int i;
|
||||
|
||||
env->fpu->fcr0 = def->CP1_fcr0;
|
||||
for (i = 0; i < MIPS_FPU_MAX; i++)
|
||||
env->fpus[i].fcr0 = def->CP1_fcr0;
|
||||
|
||||
memcpy(&env->active_fpu, &env->fpus[0], sizeof(env->active_fpu));
|
||||
if (env->user_mode_only) {
|
||||
if (env->CP0_Config1 & (1 << CP0C1_FP))
|
||||
env->hflags |= MIPS_HFLAG_FPU;
|
||||
#ifdef TARGET_MIPS64
|
||||
if (env->fpu->fcr0 & (1 << FCR0_F64))
|
||||
if (env->active_fpu.fcr0 & (1 << FCR0_F64))
|
||||
env->hflags |= MIPS_HFLAG_F64;
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue