Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-7]: src/sys/arch/sparc64/sparc64 Pull up following revision(s) (r...
details: https://anonhg.NetBSD.org/src/rev/453fd365b5d5
branches: netbsd-7
changeset: 799060:453fd365b5d5
user: snj <snj%NetBSD.org@localhost>
date: Mon Mar 09 07:54:12 2015 +0000
description:
Pull up following revision(s) (requested by nakayama in ticket #568):
sys/arch/sparc64/sparc64/locore.s: revision 1.379, 1.380
Use panic stack temporarily for calling prom_printf in a trap
handler.
It seems that openfirmware cannot handle over 4GB pointers, and
stack pointers may point to over 4GB since VA layout was rearranged
by rev 1.33 of vmparam.h. Therefore, use panic stack to avoid
panicking in OF_write used by prom_printf.
--
PANICSTACK is a pointer itself, not a pointer to pointer.
diffstat:
sys/arch/sparc64/sparc64/locore.s | 13 +++++--------
1 files changed, 5 insertions(+), 8 deletions(-)
diffs (41 lines):
diff -r ac6d59f1ddf7 -r 453fd365b5d5 sys/arch/sparc64/sparc64/locore.s
--- a/sys/arch/sparc64/sparc64/locore.s Mon Mar 09 07:46:05 2015 +0000
+++ b/sys/arch/sparc64/sparc64/locore.s Mon Mar 09 07:54:12 2015 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.369.2.1 2014/08/14 06:50:37 martin Exp $ */
+/* $NetBSD: locore.s,v 1.369.2.2 2015/03/09 07:54:12 snj Exp $ */
/*
* Copyright (c) 2006-2010 Matthew R. Green
@@ -2126,9 +2126,7 @@
wrpr %g0, 0, %otherwin
or %lo(2f), %o0, %o0
wrpr %g0, WSTATE_KERN, %wstate
- sethi %hi(PANICSTACK), %sp
- LDPTR [%sp + %lo(PANICSTACK)], %sp
- add %sp, -CC64FSZ-STKB, %sp
+ set PANICSTACK-CC64FSZ-STKB, %sp
ta 1; nop ! This helps out traptrace.
call _C_LABEL(panic) ! This needs to be fixed properly but we should panic here
mov %g1, %o1
@@ -2908,9 +2906,7 @@
cmp %g7, WSTATE_KERN
bnz,pt %icc, 1f ! User stack -- we'll blow it away
nop
- sethi %hi(PANICSTACK), %sp
- LDPTR [%sp + %lo(PANICSTACK)], %sp
- add %sp, -CC64FSZ-STKB, %sp
+ set PANICSTACK-CC64FSZ-STKB, %sp
1:
#endif
rdpr %tt, %g4
@@ -3528,7 +3524,8 @@
nop
#endif
#if 1
- STACKFRAME(-CC64FSZ) ! Get a clean register window
+ set PANICSTACK-STKB, %g1 ! Use panic stack temporarily
+ save %g1, -CC64FSZ, %sp ! Get a clean register window
LOAD_ASCIZ(%o0, "interrupt_vector: spurious vector %lx at pil %d\r\n")
mov %g7, %o1
GLOBTOLOC
Home |
Main Index |
Thread Index |
Old Index