linux-user/sparc: Handle division by zero traps
In addition to the hw trap vector, there is a software trap assigned for older sparc without hw division instructions. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230216054516.1267305-9-richard.henderson@linaro.org> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
52d104a5a5
commit
0908007f76
@ -211,6 +211,11 @@ void cpu_loop (CPUSPARCState *env)
|
|||||||
force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->pc);
|
force_sig_fault(TARGET_SIGTRAP, TARGET_TRAP_BRKPT, env->pc);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TT_TRAP + 0x02: /* div0 */
|
||||||
|
case TT_DIV_ZERO:
|
||||||
|
force_sig_fault(TARGET_SIGFPE, TARGET_FPE_INTDIV, env->pc);
|
||||||
|
break;
|
||||||
|
|
||||||
case TT_TRAP + 0x03: /* flush windows */
|
case TT_TRAP + 0x03: /* flush windows */
|
||||||
flush_windows(env);
|
flush_windows(env);
|
||||||
/* next instruction */
|
/* next instruction */
|
||||||
|
Loading…
Reference in New Issue
Block a user