Subject: Re: are -current kernels ok?
To: Matthias Drochner <drochner@zelux6.zel.kfa-juelich.de>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: current-users
Date: 07/10/1997 11:07:50
On Thu, 10 Jul 1997 19:19:20 +0200 (MET DST) 
 Matthias Drochner <drochner@zelux6.zel.kfa-juelich.de> wrote:

 > For a couple of days, all my new kernels panic while
 > mounting root (FFS or NFS).
 > This happens in the low level task switching, a
 > zero PCB pointer in a proc structure is accessed.
 > Does anybody have similar problems or did I get an
 > inconsistent tree?

This is certainly a machine-dependent error... The hp300, for example,
won't see this... from locore.s:

/* set kernel stack, user SP, and initial pcb */
	movl	_C_LABEL(proc0paddr),a1	| get proc0 pcb addr
	lea	a1@(USPACE-4),sp	| set kernel stack to end of area
	lea	_C_LABEL(proc0),a2	| initialize proc0.p_addr so that
	movl	a1,a2@(P_ADDR)		|   we don't deref NULL in trap()

..this is right after calling vm_set_page_size(), and before calling
main().

...and at the time that vfs_mountroot() is called, proc0 is the only
process that exists... and proc0.p_addr is initialized by that time
in machine-dependent code, as well!  What is the value of proc0paddr
when the system crashes?

Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                               Home: 408.866.1912
NAS: M/S 258-6                                          Work: 415.604.0935
Moffett Field, CA 94035                                Pager: 415.428.6939