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.