mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-25 15:26:51 +00:00
target-m68k: initialize FPU registers
on reset, set FP registers to NaN and control registers to 0 Backports commit f4a6ce5155aab2a7ed7b9032a72187b37b3bfffe from qemu
This commit is contained in:
parent
d92621522a
commit
92555a1134
|
@ -49,6 +49,8 @@ static void m68k_cpu_reset(CPUState *s)
|
||||||
M68kCPU *cpu = M68K_CPU(s->uc, s);
|
M68kCPU *cpu = M68K_CPU(s->uc, s);
|
||||||
M68kCPUClass *mcc = M68K_CPU_GET_CLASS(s->uc, cpu);
|
M68kCPUClass *mcc = M68K_CPU_GET_CLASS(s->uc, cpu);
|
||||||
CPUM68KState *env = &cpu->env;
|
CPUM68KState *env = &cpu->env;
|
||||||
|
float64 nan = float64_default_nan(NULL);
|
||||||
|
int i;
|
||||||
|
|
||||||
mcc->parent_reset(s);
|
mcc->parent_reset(s);
|
||||||
|
|
||||||
|
@ -57,7 +59,12 @@ static void m68k_cpu_reset(CPUState *s)
|
||||||
env->sr = 0x2700;
|
env->sr = 0x2700;
|
||||||
#endif
|
#endif
|
||||||
m68k_switch_sp(env);
|
m68k_switch_sp(env);
|
||||||
/* ??? FP regs should be initialized to NaN. */
|
for (i = 0; i < 8; i++) {
|
||||||
|
env->fregs[i] = nan;
|
||||||
|
}
|
||||||
|
env->fpcr = 0;
|
||||||
|
env->fpsr = 0;
|
||||||
|
|
||||||
cpu_m68k_set_ccr(env, 0);
|
cpu_m68k_set_ccr(env, 0);
|
||||||
/* TODO: We should set PC from the interrupt vector. */
|
/* TODO: We should set PC from the interrupt vector. */
|
||||||
env->pc = 0;
|
env->pc = 0;
|
||||||
|
|
Loading…
Reference in a new issue