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

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

1991/0712/sys/src/9/ss/trap.c:357,3691991/0713/sys/src/9/ss/trap.c:357,369 (short | long | prev | next)
1990/1223    
			msg = "sys: odd stack"; 
			goto Bad; 
1991/0711    
		} 
		if(((ulong*)ur->pc)[-2] != 0x82206004){	/* new calling convention: look for ADD $-4, SP */ 
			pprint("new system call linkage\n"); 
			sp -= BY2WD; 
1991/0713    
		if(((ulong*)ur->pc)[-2] == 0x82206004){	/* new calling convention: look for ADD $-4, SP */ 
			pprint("old system call linkage\n"); 
			sp += BY2WD; 
1990/1223    
		} 
1991/0614    
		if(sp<(USTKTOP-BY2PG) || sp>(USTKTOP-(2+MAXSYSARG)*BY2WD)) 
			validaddr(sp, ((2+MAXSYSARG)*BY2WD), 0); 
1990/1226    
		ret = (*systab[r7])((ulong*)(sp+2*BY2WD)); 
1991/0713    
		if(sp<(USTKTOP-BY2PG) || sp>(USTKTOP-(1+MAXSYSARG)*BY2WD)) 
			validaddr(sp, ((1+MAXSYSARG)*BY2WD), 0); 
		ret = (*systab[r7])((ulong*)(sp+1*BY2WD)); 
1991/0614    
		poperror(); 
1990/1223    
	} 
1990/1226    
	ur->pc += 4; 


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