Module Name: src
Committed By: palle
Date: Sat Feb 17 19:36:07 UTC 2024
Modified Files:
src/sys/arch/sparc64/sparc64: locore.s
Log Message:
Ensure that the size of the stack is properly specified (2*USPACE) so it
matches the allocation of stack pages done in pmap_bootstrap(). If this is not
properly in sync, then the stack pointer may end up in the redzone right before
the stack causing mmu faults. This issue has been observed on a T2000 (sun4v)
system while probing the devices (pci/ebus/com) during bootstrap
To generate a diff of this commit:
cvs rdiff -u -r1.433 -r1.434 src/sys/arch/sparc64/sparc64/locore.s
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/sparc64/sparc64/locore.s
diff -u src/sys/arch/sparc64/sparc64/locore.s:1.433 src/sys/arch/sparc64/sparc64/locore.s:1.434
--- src/sys/arch/sparc64/sparc64/locore.s:1.433 Wed Mar 1 08:18:39 2023
+++ src/sys/arch/sparc64/sparc64/locore.s Sat Feb 17 19:36:07 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.433 2023/03/01 08:18:39 riastradh Exp $ */
+/* $NetBSD: locore.s,v 1.434 2024/02/17 19:36:07 palle Exp $ */
/*
* Copyright (c) 2006-2010 Matthew R. Green
@@ -5471,7 +5471,7 @@ ENTRY_NOPROFILE(cpu_initialize) /* for c
!! and already accessible here)
flushw
LDPTR [%l7 + CI_CPCB], %l0 ! load PCB/uarea pointer
- set USPACE - TF_SIZE - CC64FSZ, %l1
+ set 2*USPACE - TF_SIZE - CC64FSZ, %l1
add %l1, %l0, %l0
#ifdef _LP64
andn %l0, 0x0f, %l0 ! Needs to be 16-byte aligned