diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-03-27 23:12:49 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-03-27 23:12:49 +0000 |
commit | 43244f2d452e5f58107d33de632d57f4054cdc8e (patch) | |
tree | 6a1d99adc9285d56deaed76853082a8931220a97 | |
parent | 831b8077a2c5bc80a3a4f5dc6c50b22689ee988d (diff) |
At tl==0 call datafault directly instead of going through winfault. It is
impossible that there is a pending register window trap that we need to
fix up in this case.
-rw-r--r-- | sys/arch/sparc64/sparc64/locore.s | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/arch/sparc64/sparc64/locore.s b/sys/arch/sparc64/sparc64/locore.s index 9a2e4716f00..eb9617d6c8c 100644 --- a/sys/arch/sparc64/sparc64/locore.s +++ b/sys/arch/sparc64/sparc64/locore.s @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.s,v 1.161 2010/03/22 18:49:25 kettenis Exp $ */ +/* $OpenBSD: locore.s,v 1.162 2010/03/27 23:12:48 kettenis Exp $ */ /* $NetBSD: locore.s,v 1.137 2001/08/13 06:10:10 jdolecek Exp $ */ /* @@ -773,10 +773,10 @@ _C_LABEL(trapbase): TRAP T_DIV0 ! 028 = divide by zero UTRAP 0x029 ! 029 = internal processor error UTRAP 0x02a; UTRAP 0x02b; UTRAP 0x02c; UTRAP 0x02d; UTRAP 0x02e; UTRAP 0x02f - VTRAP T_DATAFAULT, winfault ! 030 = data fetch fault + VTRAP T_DATAFAULT, datafault ! 030 = data fetch fault UTRAP 0x031 ! 031 = data MMU miss -- no MMU - VTRAP T_DATA_ERROR, winfault ! 032 = data access error - VTRAP T_DATA_PROT, winfault ! 033 = data protection fault + VTRAP T_DATA_ERROR, datafault ! 032 = data access error + VTRAP T_DATA_PROT, datafault ! 033 = data protection fault TRAP T_ALIGN ! 034 = address alignment error -- we could fix it inline... TRAP T_LDDF_ALIGN ! 035 = LDDF address alignment error -- we could fix it inline... TRAP T_STDF_ALIGN ! 036 = STDF address alignment error -- we could fix it inline... @@ -785,7 +785,7 @@ _C_LABEL(trapbase): TRAP T_STQF_ALIGN ! 039 = STQF address alignment error UTRAP 0x03a; UTRAP 0x03b; UTRAP 0x03c; UTRAP 0x03d; UTRAP 0x03e; UTRAP 0x03f; - VTRAP T_ASYNC_ERROR, winfault ! 040 = data fetch fault + VTRAP T_ASYNC_ERROR, datafault ! 040 = data fetch fault SOFTINT4U 1, IE_L1 ! 041 = level 1 interrupt HARDINT4U 2 ! 042 = level 2 interrupt HARDINT4U 3 ! 043 = level 3 interrupt |