Subject: CVS commit: src/sys/arch/sparc64
To: None <source-changes@NetBSD.org>
From: matthew green <mrg@netbsd.org>
List: source-changes
Date: 10/17/2006 22:26:06
Module Name: src
Committed By: mrg
Date: Tue Oct 17 22:26:06 UTC 2006
Modified Files:
src/sys/arch/sparc64/include: param.h
src/sys/arch/sparc64/sparc64: cpu.c locore.s pmap.c
Log Message:
allocate 128KB (as opposed to 64KB) per-cpu, and place the interrupt
stack, cpu_info structure, panicstack, idle uarea and normal kernel
stack in here. the idle uarea and kernel stack are in the 2nd 64KB
page. the interrupt stack and cpu_info structure are as the same
place in the 1st 64KB page, and the panicstack grows down from the
top of this page. update comments in param.h to suit (XXX: a lot
of these constants should move to a header file that will not pollute
the name space so much.) map these pages identically between
cpu_initialise() and cpu_mp_startup(), and deal with the two 64KB
pages in pmap_extract(). keep an unmapped 64KB page between them.
don't initialise the unused "ci_eintstack" member of the cpu_info
structure
use constants to initialise many addresses in the cpu_info structure,
consolidating these assignments from cpu0 and cpu>0
delete u0/estack0/panicstack from locore.s
clean up some wrong comments in locore.s
fix a 32bit-only bug in cpu_mp_startup().
delete 'u0' entirely.
this fixes recent random lossage seen on port-sparc64: processes
stuck in RUN state, data faults, and hangs.
To generate a diff of this commit:
cvs rdiff -r1.36 -r1.37 src/sys/arch/sparc64/include/param.h
cvs rdiff -r1.54 -r1.55 src/sys/arch/sparc64/sparc64/cpu.c
cvs rdiff -r1.229 -r1.230 src/sys/arch/sparc64/sparc64/locore.s
cvs rdiff -r1.177 -r1.178 src/sys/arch/sparc64/sparc64/pmap.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.