diff options
Diffstat (limited to 'sys/arch/mvme88k')
-rw-r--r-- | sys/arch/mvme88k/mvme88k/eh.S | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/sys/arch/mvme88k/mvme88k/eh.S b/sys/arch/mvme88k/mvme88k/eh.S index 88a8990fcac..0784e15f34b 100644 --- a/sys/arch/mvme88k/mvme88k/eh.S +++ b/sys/arch/mvme88k/mvme88k/eh.S @@ -1,4 +1,4 @@ -/* $OpenBSD: eh.S,v 1.51 2004/06/22 05:01:08 miod Exp $ */ +/* $OpenBSD: eh.S,v 1.52 2004/06/22 05:02:35 miod Exp $ */ /* * Mach Operating System * Copyright (c) 1993-1991 Carnegie Mellon University @@ -943,8 +943,6 @@ ASLOCAL(m88110_badaddr__return_nonzero) * DSR before the rte instruction clears the EFRZ bit in the PSR. */ stcr r0, DSR - stcr r0, DLAR - stcr r0, DPAR /* FALLTHROUGH */ #endif ASLOCAL(badaddr__return_nonzero) @@ -2576,14 +2574,12 @@ ASLOCAL(m88110_setup_phase_two) ASLOCAL(m88110_fpu_enable) FLUSH_PIPELINE + /* Now we can handle another exception!!! */ /* Now that EFRZ is cleared, we can clear these */ - stcr r0, ISR /* Clear ISR */ - stcr r0, ILAR /* Clear ILAR */ - stcr r0, IPAR /* Clear IPAR */ - stcr r0, DSR /* Clear DSR */ - stcr r0, DLAR /* Clear DLAR */ - stcr r0, DPAR /* Clear DPAR */ + stcr r0, ISR + stcr r0, DSR + xcr TMP, TMP, SR3 /* get E.F. pointer */ st r30, TMP, GENREG_OFF(30) /* save previous r30, r31 */ st r31, TMP, GENREG_OFF(31) /* save previous r30, r31 */ |