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

1992/0808/ss/l.s (diff list | history)

1992/0807/sys/src/9/ss/l.s:22,281992/0808/sys/src/9/ss/l.s:22,28 (short | long | prev | next)
1990/1223    
 
TEXT	startvirt(SB), $-4 
 
1992/0807    
	MOVW	$romvec(SB), R7 
1992/0808    
	MOVW	$rom(SB), R7 
1992/0807    
	MOVW	R8, (R7)	/* romvec passed in %i0==R8 */ 
 
1990/1226    
	MOVW	$BOOTSTACK, R1 
1992/0807/sys/src/9/ss/l.s:453,4551992/0808/sys/src/9/ss/l.s:453,477
1992/0726    
 
1990/1223    
GLOBL	mach0+0(SB), $MACHSIZE 
1991/01151    
GLOBL	fsr+0(SB), $BY2WD 
1992/0808    
 
/* 
 * Interface to ROM.  Must save and restore state because 
 * of different calling conventions. 
 */ 
 
TEXT	call(SB), $16 
	MOVW	R1, R14		/* save my SP in their SP */ 
	MOVW	R2, sb-4(SP) 
	MOVW	R(MACH), mach-8(SP) 
	MOVW	R(USER), user-12(SP) 
	MOVW	param1+4(FP), R8 
	MOVW	param2+8(FP), R9 
	MOVW	param3+12(FP), R10 
	MOVW	param4+16(FP), R11 
	JMPL	(R7) 
	MOVW	R14, R1		/* restore my SP */ 
	MOVW	user-12(SP), R(USER) 
	MOVW	mach-8(SP), R(MACH) 
	MOVW	sb-4(SP), R2 
	MOVW	R8, R7		/* move their return value into mine */ 
	RETURN 


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