summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorbriggs <briggs@cvs.openbsd.org>1996-06-09 00:47:26 +0000
committerbriggs <briggs@cvs.openbsd.org>1996-06-09 00:47:26 +0000
commit109bdbbfe4a5b6c3d6cc1cb5aec7e38462c221f1 (patch)
treebd35bfe5b924382a22f41ab0a84b36e10ff7bf88 /sys/arch
parent2bab80e13b5eaee0ddea9e7da2792683ccbe9e71 (diff)
Implement suggestion from is -- handle _fpfault differently for 040 and
better processors. Basically, don't clear and muck with the exc_pend bit in the BIU for any FP frames on those processors. It is, in fact, unclear if we should check the frame type and only do this for the IDLE frames as there are only three frames (NULL, IDLE, BUSY) and the BIU only appears in the IDLE frame on the 881/882.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/mac68k/mac68k/locore.s8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/arch/mac68k/mac68k/locore.s b/sys/arch/mac68k/mac68k/locore.s
index 16348567723..184c1f40433 100644
--- a/sys/arch/mac68k/mac68k/locore.s
+++ b/sys/arch/mac68k/mac68k/locore.s
@@ -1,5 +1,5 @@
-/* $OpenBSD: locore.s,v 1.8 1996/05/26 18:36:20 briggs Exp $ */
-/* $NetBSD: locore.s,v 1.63 1996/05/17 02:11:47 briggs Exp $ */
+/* $OpenBSD: locore.s,v 1.9 1996/06/09 00:47:25 briggs Exp $ */
+/* $NetBSD: locore.s,v 1.64 1996/06/09 01:53:42 briggs Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -311,6 +311,10 @@ _fpfault:
movl _curpcb,a0 | current pcb
lea a0@(PCB_FPCTX),a0 | address of FP savearea
fsave a0@ | save state
+#if defined(M68040) || defined(M68040)
+ cmpl #MMU_68040, _mmutype | if 68040, (060 ha!), etc...
+ jle Lfptnull
+#endif
tstb a0@ | null state frame?
jeq Lfptnull | yes, safe
clrw d0 | no, need to tweak BIU