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

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

1991/0926/sys/src/9/ss/trap.c:250,2561991/1105/sys/src/9/ss/trap.c:250,257 (short | long | prev | next)
1991/0318    
		memmove((char*)sp, u->note[0].msg, ERRLEN); 
1990/1223    
		sp -= 3*BY2WD; 
		*(ulong*)(sp+2*BY2WD) = sp+3*BY2WD;	/* arg 2 is string */ 
		*(ulong*)(sp+1*BY2WD) = (ulong)u->ureg;	/* arg 1 is ureg* */ 
1991/1105    
		*(ulong*)(sp+1*BY2WD) = (ulong)u->ureg;	/* arg 1 is ureg* (compat) */ 
		ur->r7 = (ulong)u->ureg;		/* arg 1 is ureg* */ 
1990/1223    
		*(ulong*)(sp+0*BY2WD) = 0;		/* arg 0 is pc */ 
		ur->usp = sp; 
		ur->pc = (ulong)u->notify; 
1991/0926/sys/src/9/ss/trap.c:358,3671991/1105/sys/src/9/ss/trap.c:359,364
1990/1223    
			pprint("odd sp in sys call pc %lux sp %lux\n", ((Ureg*)UREGADDR)->pc, ((Ureg*)UREGADDR)->sp); 
			msg = "sys: odd stack"; 
			goto Bad; 
1991/0711    
		} 
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/0713    
		if(sp<(USTKTOP-BY2PG) || sp>(USTKTOP-(1+MAXSYSARG)*BY2WD)) 
			validaddr(sp, ((1+MAXSYSARG)*BY2WD), 0); 


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