diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2008-01-03 17:09:43 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2008-01-03 17:09:43 +0000 |
commit | 1687e9dd249d6f346af8655bdd53210a11cdce34 (patch) | |
tree | 66790baf8fa4db78e7e3feae2f1824407b2c0f4d /sys | |
parent | 2805b99f1d1329e0e2bbf787795f1041bf9787a2 (diff) |
Make slowtrap check the real stack pointer instead of whatever is in %g6.
Should fix PR 5617, 5637 and 5657.
Remove bogus comment as pointed out by miod@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/sparc64/sparc64/locore.s | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/arch/sparc64/sparc64/locore.s b/sys/arch/sparc64/sparc64/locore.s index 74b17ee1c68..2c10e72b3f9 100644 --- a/sys/arch/sparc64/sparc64/locore.s +++ b/sys/arch/sparc64/sparc64/locore.s @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.s,v 1.106 2007/12/23 15:33:41 kettenis Exp $ */ +/* $OpenBSD: locore.s,v 1.107 2008/01/03 17:09:42 kettenis Exp $ */ /* $NetBSD: locore.s,v 1.137 2001/08/13 06:10:10 jdolecek Exp $ */ /* @@ -2671,10 +2671,7 @@ Lslowtrap_reenter: ba,a,pt %icc, return_from_trap nop NOTREACHED -#if 1 -/* - * This code is no longer needed. - */ + /* * Do a `software' trap by re-entering the trap code, possibly first * switching from interrupt stack to kernel stack. This is used for @@ -2698,7 +2695,7 @@ softtrap: sethi %hi(EINTSTACK-INTSTACK), %g7 or %g5, %lo(EINTSTACK-BIAS), %g5 dec %g7 - sub %g5, %g6, %g5 + sub %g5, %sp, %g5 sethi %hi(CPCB), %g6 andncc %g5, %g7, %g0 bnz,pt %xcc, Lslowtrap_reenter @@ -2751,7 +2748,6 @@ softtrap: #endif /* DEBUG */ ba,pt %xcc, Lslowtrap_reenter mov %g6, %sp -#endif /* 1 */ #if 0 /* |