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

1991/0926/port/fault.c (diff list | history)

1991/0906/sys/src/9/port/fault.c:16,301991/0926/sys/src/9/port/fault.c:16,37 (short | long | prev | next)
1991/0705    
	Pte **p; 
	Page **pg, *lkp, *new = 0; 
	int type; 
1991/0926    
	char *sps; 
1990/0227    
 
1991/0926    
	sps = u->p->psstate; 
	u->p->psstate = "Fault"; 
 
1991/0427    
	m->pfault++; 
1991/0705    
again: 
	s = seg(u->p, addr, 1); 
	if(s == 0) 
1991/0926    
	if(s == 0) { 
		u->p->psstate = sps; 
1990/1212    
		return -1; 
1991/0926    
	} 
1991/0705    
 
	if(!read && (s->type&SG_RONLY)) { 
		qunlock(&s->lk); 
1991/0926    
		u->p->psstate = sps; 
1991/0705    
		return -1; 
1990/0227    
	} 
1991/0705    
 
1991/0906/sys/src/9/port/fault.c:112,1171991/0926/sys/src/9/port/fault.c:119,125
1991/0719    
		putpage(new); 
1991/0607    
 
1991/0705    
	putmmu(addr, mmuphys, *pg); 
1991/0926    
	u->p->psstate = sps; 
1991/0705    
	return 0; 
} 
 


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