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

1992/0323/pc/main.c (diff list | history)

1992/0321/sys/src/9/pc/main.c:8,131992/0323/sys/src/9/pc/main.c:8,14 (short | long | prev | next)
1991/0716    
#include	"init.h" 
1991/0629    
 
1991/1210    
int machtype; 
1992/0323    
uchar	*sp;	/* stack pointer for /boot */ 
1991/0711    
 
1991/0716    
void 
1991/0702    
main(void) 
1992/0321/sys/src/9/pc/main.c:93,991992/0323/sys/src/9/pc/main.c:94,100
1991/0927    
		ksetenv("cputype", "386"); 
1991/0926    
		poperror(); 
	} 
1991/0716    
	touser(); 
1992/0323    
	touser(sp); 
1991/0712    
} 
 
1991/0629    
void 
1992/0321/sys/src/9/pc/main.c:103,1081992/0323/sys/src/9/pc/main.c:104,110
1991/0716    
	Segment *s; 
	User *up; 
	KMap *k; 
1992/0323    
	Page *pg; 
1991/0905    
 
1991/0716    
	p = newproc(); 
	p->pgrp = newpgrp(); 
1992/0321/sys/src/9/pc/main.c:138,1431992/0323/sys/src/9/pc/main.c:140,150
1991/0716    
	 */ 
	s = newseg(SG_STACK, USTKTOP-BY2PG, 1); 
	p->seg[SSEG] = s; 
1992/0323    
	pg = newpage(1, 0, USTKTOP-BY2PG); 
	segpage(s, pg); 
	k = kmap(pg); 
	bootargs(VA(k)); 
	kunmap(k); 
1991/0716    
 
	/* 
	 * Text 
1992/0321/sys/src/9/pc/main.c:150,1551992/0323/sys/src/9/pc/main.c:157,199
1991/0716    
	kunmap(k); 
 
	ready(p); 
1992/0323    
} 
 
uchar * 
pusharg(char *p) 
{ 
	int n; 
 
	n = strlen(p)+1; 
	sp -= n; 
	memmove(sp, p, n); 
	return sp; 
} 
 
void 
bootargs(ulong base) 
{ 
 	int i, ac; 
	uchar *av[32]; 
	char *p, *pp; 
	uchar **lsp; 
 
	sp = (uchar*)base + BY2PG - MAXSYSARG*BY2WD; 
 
	ac = 0; 
	av[ac++] = pusharg("/386/9safari"); 
	av[ac++] = pusharg("-p"); 
 
	/* 4 byte word align stack */ 
	sp = (uchar*)((ulong)sp & ~3); 
 
	/* build argc, argv on stack */ 
	sp -= (ac+1)*sizeof(sp); 
	lsp = (uchar**)sp; 
	for(i = 0; i < ac; i++) 
		*lsp++ = av[i] + ((USTKTOP - BY2PG) - base); 
	*lsp = 0; 
	sp += (USTKTOP - BY2PG) - base - sizeof(ulong); 
1991/0711    
} 
 
1991/0716    
Conf	conf; 


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