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

1990/11211/gnot/fault.c (diff list | history)

1990/1113/sys/src/9/gnot/fault.c:161,1671990/11211/sys/src/9/gnot/fault.c:161,167 (short | long | prev | next)
1990/06021    
			k = kmap(pg); 
1990/03091    
			qlock(o->chan); 
			if(waserror()){ 
				print("demand load i/o error %d\n", u->error.code); 
1990/11211    
				print("demand load i/o error %s\n", u->error); 
1990/06021    
				kunmap(k); 
1990/03091    
				qunlock(o->chan); 
				pg->o = 0; 
1990/1113/sys/src/9/gnot/fault.c:171,1771990/11211/sys/src/9/gnot/fault.c:171,177
1990/03091    
			o->chan->offset = (addr-o->va) + o->minca; 
1990/0614    
			l = (char*)VA(k); 
1990/03091    
			if((*devtab[o->chan->type].read)(o->chan, l, n) != n) 
				error(0, Eioload); 
1990/11211    
				error(Eioload); 
1990/03091    
			qunlock(o->chan); 
			if(n<BY2PG) 
				memset(l+n, 0, BY2PG-n); 
1990/1113/sys/src/9/gnot/fault.c:291,2971990/11211/sys/src/9/gnot/fault.c:291,297
1990/0312    
    Err: 
1990/03091    
		pprint("invalid address in sys call pc %lux sp %lux\n", ((Ureg*)UREGADDR)->pc, ((Ureg*)UREGADDR)->sp); 
1990/1110    
		postnote(u->p, 1, "sys: bad address", NDebug); 
1990/03091    
		error(0, Ebadarg); 
1990/11211    
		error(Ebadarg); 
1990/03091    
	} 
1990/0617    
    Again: 
	s = seg(u->p, addr); 


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