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