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

1991/0110/ss/trap.c (diff list | history)

1991/0109/sys/src/9/ss/trap.c:58,631991/0110/sys/src/9/ss/trap.c:58,67 (short | long | prev | next)
1990/1227    
	ulong tbr; 
1990/1223    
 
1990/1227    
	tbr = (ur->tbr&0xFFF)>>4; 
1991/0110    
	if(tbr == 16+15){			/* interrupt 14: counter 1 */ 
		faultasync(ur); 
		return; 
	} 
1990/1231    
	if(tbr == 16+14){			/* interrupt 14: counter 1 */ 
1990/1227    
		clock(ur); 
1990/1231    
		return; 
1991/0109/sys/src/9/ss/trap.c:77,871991/0110/sys/src/9/ss/trap.c:81,88
1990/1223    
		u->p->pc = ur->pc;		/* BUG */ 
	if(user){ 
1990/1227    
		print("user trap: %s pc=0x%lux\n", excname(tbr), ur->pc); 
1990/1226    
dumpregs(ur); 
1990/1227    
		sprint(buf, "sys: trap: pc=0x%lux %s", ur->pc, excname(tbr)); 
1991/0109    
print("call postnote\n"); 
1990/1223    
		postnote(u->p, 1, buf, NDebug); 
1991/0109    
print("return from postnote\n"); 
1990/1223    
	}else{ 
1990/1227    
		print("kernel trap: %s pc=0x%lux\n", excname(tbr), ur->pc); 
1990/1223    
		dumpregs(ur); 
1991/0109/sys/src/9/ss/trap.c:169,1751991/0110/sys/src/9/ss/trap.c:170,175
1990/1223    
		if(u->note[0].flag == NDebug) 
			pprint("suicide: %s\n", u->note[0].msg); 
    Die: 
1991/0109    
print("suicide: %s\n", u->note[0].msg); 
1990/1223    
		unlock(&u->p->debug); 
		pexit(u->note[0].msg, u->note[0].flag!=NDebug); 
	} 


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