plan 9 kernel history: overview | file list | diff list

1991/0522/port/sysproc.c (diff list | history)

1991/0522/sys/src/9/port/sysproc.c:152,1581991/0523/sys/src/9/port/sysproc.c:152,158 (short | long | prev | next)
1990/0227    
	char **argv, **argp; 
	char *a, *charp, *file; 
	char *progarg[sizeof(Exec)/2+1], elem[NAMELEN]; 
1991/0522    
	ulong sbase, ssize, spage, nargs, nbytes, n, bssend; 
1991/0523    
	ulong ssize, spage, nargs, nbytes, n, bssend; 
1990/0227    
	ulong *sp; 
	int indir; 
	Exec exec; 
1991/0522/sys/src/9/port/sysproc.c:239,2541991/0523/sys/src/9/port/sysproc.c:239,253
1990/0227    
	} 
	ssize = BY2WD*(nargs+1) + ((nbytes+(BY2WD-1)) & ~(BY2WD-1)); 
	spage = (ssize+(BY2PG-1)) >> PGSHIFT; 
1991/0522    
	sbase = TSTKTOP-(spage<<PGSHIFT); 
1990/0227    
	/* 
	 * Build the stack segment, putting it in kernel virtual for the moment 
	 */ 
1991/0522    
	if(sbase <= USERADDR) 
1991/0523    
	if(spage > TSTKSIZ) 
1991/0522    
		errors("not enough argument stack space"); 
 
1990/0227    
	s = &p->seg[ESEG]; 
	s->proc = p; 
1991/0522    
	s->o = neworig(sbase, spage, OWRPERM, 0); 
1991/0523    
	s->o = neworig(TSTKTOP-(spage<<PGSHIFT), spage, OWRPERM, 0); 
1990/0227    
	s->minva = s->o->va; 
	s->maxva = TSTKTOP; 
 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)