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

1992/0103/pc/trap.c (diff list | history)

1991/1218/sys/src/9/pc/trap.c:294,2991992/0103/sys/src/9/pc/trap.c:294,302 (short | long | prev | next)
1991/0710    
 */ 
1991/0731    
#include "../port/systab.h" 
1991/0720    
 
1992/0103    
/* 
 *  syscall is called spllo() 
 */ 
1991/0710    
long 
syscall(Ureg *ur) 
{ 
1991/1218/sys/src/9/pc/trap.c:310,3161992/0103/sys/src/9/pc/trap.c:313,318
1991/0720    
	/* 
	 *  do something about floating point!!! 
	 */ 
                 
	ax = ur->ax; 
	sp = ur->usp; 
	u->nerrlab = 0; 
1991/1218/sys/src/9/pc/trap.c:340,3461992/0103/sys/src/9/pc/trap.c:342,348
1991/1114    
	if(ax == NOTED) 
1991/0720    
		noted(ur, *(ulong*)(sp+BY2WD)); 
1991/1114    
 
	splhi(); 
1992/0103    
	splhi(); /* avoid interrupts during the iret */ 
1991/1114    
	if(ax!=FORK && (u->p->procctl || u->nnote)) 
1991/0720    
		notify(ur); 
	return ret; 


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