The recent buserr handler cleanup in the Amiga locore.s made the label
_buserr point to the 68020/030 buserr code _only_. This has broken access error handling in the 060 support code. This is repaired by jumping to _buserr60 from the 060SP, and by providing a _buserr60 label identical to the _buserr in the unchanged m68k ports using the 68060.
This commit is contained in:
parent
b59135a6fb
commit
f3efbb406a
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: locore.s,v 1.41 1997/06/05 19:45:32 leo Exp $ */
|
||||
/* $NetBSD: locore.s,v 1.42 1997/06/26 22:28:46 is Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
@ -86,6 +86,8 @@ _doadump:
|
||||
#include <m68k/m68k/trap_subr.s>
|
||||
|
||||
.globl _trap, _nofault, _longjmp
|
||||
.globl _buserr60 | for 060SP
|
||||
_buserr60:
|
||||
_buserr:
|
||||
tstl _nofault | device probe?
|
||||
jeq _addrerr | no, handle as usual
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# $NetBSD: netbsd.S,v 1.1 1996/05/15 21:06:24 is Exp $
|
||||
# $NetBSD: netbsd.S,v 1.2 1997/06/26 22:28:42 is Exp $
|
||||
#
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GROUP
|
||||
@ -365,14 +365,12 @@ _060_real_trace:
|
||||
# handler for access error exceptions. The exception stack frame is an
|
||||
# 8-word access error frame.
|
||||
#
|
||||
# The sample routine below simply executes an "rte" instruction which
|
||||
# is most likely the incorrect thing to do and could put the system
|
||||
# into an infinite loop.
|
||||
# We jump directly to the 68060 buserr handler.
|
||||
# If we had a sane ld, we could use use that entry point directly...
|
||||
#
|
||||
.global _060_real_access
|
||||
.globl _060_real_access,_buserr60
|
||||
_060_real_access:
|
||||
.globl _buserr
|
||||
jmp _buserr
|
||||
jra _buserr60
|
||||
|
||||
.include "inetbsd.S"
|
||||
.include "fnetbsd.S"
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# $NetBSD: netbsd060sp.S,v 1.1 1996/05/15 21:06:24 is Exp $
|
||||
# $NetBSD: netbsd060sp.S,v 1.2 1997/06/26 22:28:42 is Exp $
|
||||
#
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GROUP
|
||||
@ -365,14 +365,12 @@ _060_real_trace:
|
||||
# handler for access error exceptions. The exception stack frame is an
|
||||
# 8-word access error frame.
|
||||
#
|
||||
# The sample routine below simply executes an "rte" instruction which
|
||||
# is most likely the incorrect thing to do and could put the system
|
||||
# into an infinite loop.
|
||||
# We jump directly to the 68060 buserr handler.
|
||||
# If we had a sane ld, we could use use that entry point directly...
|
||||
#
|
||||
.global _060_real_access
|
||||
.globl _060_real_access,_buserr60
|
||||
_060_real_access:
|
||||
.globl _buserr
|
||||
jmp _buserr
|
||||
jra _buserr60
|
||||
|
||||
.include "inetbsd.S"
|
||||
.include "fnetbsd.S"
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: locore.s,v 1.18 1997/05/13 18:01:17 gwr Exp $ */
|
||||
/* $NetBSD: locore.s,v 1.19 1997/06/26 22:28:50 is Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
@ -100,6 +100,8 @@ _doadump:
|
||||
#include <m68k/m68k/trap_subr.s>
|
||||
|
||||
.globl _trap, _nofault, _longjmp
|
||||
.globl _buserr60 | for 060SP
|
||||
_buserr60:
|
||||
_buserr:
|
||||
tstl _nofault | device probe?
|
||||
jeq Lberr | no, handle as usual
|
||||
|
Loading…
x
Reference in New Issue
Block a user