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

1990/1110/power/trap.c (diff list | history)

1990/0911/sys/src/9/power/trap.c:155,1631990/1110/sys/src/9/power/trap.c:155,163 (short | long | prev | next)
1990/0227    
		if(user){ 
			spllo(); 
			if(ecode == FPEXC) 
				sprint(buf, "fp: %s FCR31 %lux", fpexcname(x), x); 
1990/1110    
				sprint(buf, "sys: fp: %s FCR31 %lux", fpexcname(x), x); 
1990/0227    
			else 
1990/0427    
				sprint(buf, "trap: %s[%d]", excname[ecode], m->machno); 
1990/1110    
				sprint(buf, "sys: trap: %s[%d]", excname[ecode], m->machno); 
1990/0227    
			postnote(u->p, 1, buf, NDebug); 
		}else{ 
			print("%s %s pc=%lux\n", user? "user": "kernel", excname[ecode], ur->pc); 
1990/0911/sys/src/9/power/trap.c:463,4691990/1110/sys/src/9/power/trap.c:463,469
1990/0511    
	if(!waserror()){ 
		if(r1 >= sizeof systab/BY2WD){ 
			pprint("bad sys call number %d pc %lux\n", r1, ((Ureg*)UREGADDR)->pc); 
			msg = "bad sys call"; 
1990/1110    
			msg = "sys: bad sys call"; 
1990/0511    
	    Bad: 
			postnote(u->p, 1, msg, NDebug); 
			error(0, Ebadarg); 
1990/0911/sys/src/9/power/trap.c:470,4761990/1110/sys/src/9/power/trap.c:470,476
1990/0511    
		} 
		if(sp & (BY2WD-1)){ 
			pprint("odd sp in sys call pc %lux sp %lux\n", ((Ureg*)UREGADDR)->pc, ((Ureg*)UREGADDR)->sp); 
			msg = "odd stack"; 
1990/1110    
			msg = "sys: odd stack"; 
1990/0511    
			goto Bad; 
		} 
		if(sp<(USTKTOP-BY2PG) || sp>(USTKTOP-4*BY2WD)) 


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