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

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

1991/0523/sys/src/9/port/sysproc.c:41,471991/0529/sys/src/9/port/sysproc.c:41,47 (short | long | prev | next)
1990/0227    
	/* 
	 * Save time: only copy u-> data and useful stack 
	 */ 
1990/1211    
	clearmmucache(); 
1991/0529    
	clearmmucache();	/* so child doesn't inherit any of your mappings */ 
1991/0318    
	memmove((void*)upa, u, sizeof(User)); 
1990/0227    
	n = USERADDR+BY2PG - (ulong)&lastvar; 
	n = (n+32) & ~(BY2WD-1);	/* be safe & word align */ 
1991/0523/sys/src/9/port/sysproc.c:115,1211991/0529/sys/src/9/port/sysproc.c:115,120
1990/0227    
	 * Sched 
	 */ 
	if(setlabel(&p->sched)){ 
1990/1211    
		clearmmucache(); 
1990/0227    
		u->p = p; 
		p->state = Running; 
		p->mach = m; 
1991/0523/sys/src/9/port/sysproc.c:134,1391991/0529/sys/src/9/port/sysproc.c:133,143
1990/0227    
	memset(p->time, 0, sizeof(p->time)); 
	p->time[TReal] = MACHP(0)->ticks; 
1991/0318    
	memmove(p->text, u->p->text, NAMELEN); 
1991/0529    
	/* 
	 *  since the bss/data segments are now shareable, 
	 *  any mmu info about this process is now stale 
	 *  (i.e. has bad properties) and has to be discarded. 
	 */ 
1990/0227    
	flushmmu(); 
1990/1211    
	clearmmucache(); 
1991/0430    
	ready(p); 
1991/0523/sys/src/9/port/sysproc.c:351,3561991/0529/sys/src/9/port/sysproc.c:355,364
1990/0227    
		o->pte[i].page->va += (USTKTOP-TSTKTOP); 
	unlock(o); 
 
1991/0529    
	/* 
	 *  at this point, the mmu contains info about the old address 
	 *  space and needs to be flushed 
	 */ 
1990/0227    
	flushmmu(); 
1990/1212    
	clearmmucache(); 
1990/1226    
	execpc(exec.entry); 


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