summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-11-22 23:28:53 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-11-22 23:28:53 +0000
commitae7f4c94da6b922a136ca119fa823ba045fb66bd (patch)
treeb1269e8d05389b1af1074adbcb70d1a8f15e4c11
parentf16c1c9e41168fd873fa028ccaf6f3044e61fa9c (diff)
Do not redirect exception occuring when enabling the fpu to the error handler,
for we are supposed to be able to recover from them.
-rw-r--r--sys/arch/m88k/m88k/eh_common.S16
1 files changed, 1 insertions, 15 deletions
diff --git a/sys/arch/m88k/m88k/eh_common.S b/sys/arch/m88k/m88k/eh_common.S
index 3b615d12fc1..c7fc9491939 100644
--- a/sys/arch/m88k/m88k/eh_common.S
+++ b/sys/arch/m88k/m88k/eh_common.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: eh_common.S,v 1.35 2007/11/22 23:28:06 miod Exp $ */
+/* $OpenBSD: eh_common.S,v 1.36 2007/11/22 23:28:52 miod Exp $ */
/*
* Mach Operating System
* Copyright (c) 1993-1991 Carnegie Mellon University
@@ -1876,19 +1876,6 @@ ASLOCAL(m88110_use_SR3_pcb)
* know register 0 in the pcb frame will always be zero, so we can
* use it as scratch storage.
*/
-#if 1
- ldcr TMP, PSR
- clr TMP, TMP, 1<PSR_FPU_DISABLE_BIT> /* enable the FPU */
- clr TMP, TMP, 1<PSR_SHADOW_FREEZE_BIT> /* and shadowing */
- stcr TMP, EPSR
-
- or.u TMP, r0, hi16(_C_LABEL(m88110_error_handler))
- or TMP, TMP, lo16(_C_LABEL(m88110_error_handler))
- stcr TMP, EXIP
-
- RTE
-#else
- /* Testing!!! */
xcr r30, r30, SR3 /* r30 = old exception frame */
st r1, r30, GENREG_OFF(0) /* free up r1 */
ld r1, r30, REG_OFF(EF_EPSR) /* get back the epsr */
@@ -1925,7 +1912,6 @@ ASLOCAL(m88110_use_SR3_pcb)
st r1, r31, GENREG_OFF(1) /* store r1 */
br.n _ASM_LABEL(m88110_have_pcb)
xcr r30, r30, SR3 /* restore r30 */
-#endif
ASLOCAL(m88110_pickup_stack)
/*