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

1991/0711/pc/trap.c (diff list | history)

1991/0710/sys/src/9/pc/trap.c:124,1301991/0711/sys/src/9/pc/trap.c:124,130 (short | long | prev | next)
1991/0703    
trap(Ureg *ur) 
1991/0614    
{ 
1991/0703    
	if(ur->trap>=256 || ivec[ur->trap] == 0) 
		panic("bad trap type %d\n", ur->trap); 
1991/0711    
		panic("bad trap type %d %lux\n", ur->trap, ur->pc); 
1991/0703    
 
1991/0709    
	/* 
	 *  call the trap routine 
1991/0710/sys/src/9/pc/trap.c:147,1711991/0711/sys/src/9/pc/trap.c:147,159
1991/0710    
	panic("syscall"); 
} 
 
#include "errstr.h" 
                 
void 
error(int code) 
1991/0711    
dumpstack(void) 
1991/0710    
{ 
	strncpy(u->error, errstrtab[code], ERRLEN); 
	nexterror(); 
} 
 
void 
errors(char *err) 
1991/0711    
execpc(ulong entry) 
1991/0710    
{ 
	strncpy(u->error, err, ERRLEN); 
	nexterror(); 
} 
                 
                 
void 
nexterror(void) 
{ 
	gotolabel(&u->errlab[--u->nerrlab]); 
1991/0711    
	((Ureg*)UREGADDR)->pc = entry; 
1991/0614    
} 


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