Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/mips/mips In FPU excepton code, send SIGILL if no o...
details: https://anonhg.NetBSD.org/src/rev/a89891079584
branches: trunk
changeset: 495029:a89891079584
user: jeffs <jeffs%NetBSD.org@localhost>
date: Wed Jul 19 22:05:02 2000 +0000
description:
In FPU excepton code, send SIGILL if no one claims the instruction.
SIGFPE is still delivered where appropriate.
diffstat:
sys/arch/mips/mips/locore.S | 22 +++++++++++++++++++---
1 files changed, 19 insertions(+), 3 deletions(-)
diffs (43 lines):
diff -r efc58df7c995 -r a89891079584 sys/arch/mips/mips/locore.S
--- a/sys/arch/mips/mips/locore.S Wed Jul 19 21:08:06 2000 +0000
+++ b/sys/arch/mips/mips/locore.S Wed Jul 19 22:05:02 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.S,v 1.108 2000/07/19 18:56:36 jeffs Exp $ */
+/* $NetBSD: locore.S,v 1.109 2000/07/19 22:05:02 jeffs Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -1150,7 +1150,6 @@
/*
* Send a floating point exception signal to the current process.
*/
-3:
li t0, 0xFFFFFF00
and a1, a1, t0
ori a1, a1, T_RES_INST << MIPS_CR_EXC_CODE_SHIFT
@@ -1161,7 +1160,24 @@
move a2, a0 # code = instruction
lw a0, _C_LABEL(curproc) # get current process
jal _C_LABEL(trapsignal)
- li a1, SIGFPE
+ li a1, SIGILL
+
+ b FPReturn
+ nop
+
+/*
+ * Send a FPE signal to the current process if it tripped the any of
+ * the VZOUI bits.
+ */
+3:
+ REG_PROLOGUE
+ REG_S a1, FRAME_CAUSE(a3)
+ REG_EPILOGUE
+
+ move a2, a0 # code = instruction
+ lw a0, _C_LABEL(curproc) # get current process
+ jal _C_LABEL(trapsignal)
+ li a1, SIGFPE # BDSLOT
b FPReturn
nop
Home |
Main Index |
Thread Index |
Old Index