diff options
author | briggs <briggs@cvs.openbsd.org> | 1996-06-09 00:47:26 +0000 |
---|---|---|
committer | briggs <briggs@cvs.openbsd.org> | 1996-06-09 00:47:26 +0000 |
commit | 109bdbbfe4a5b6c3d6cc1cb5aec7e38462c221f1 (patch) | |
tree | bd35bfe5b924382a22f41ab0a84b36e10ff7bf88 /sys/arch | |
parent | 2bab80e13b5eaee0ddea9e7da2792683ccbe9e71 (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.s | 8 |
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 |