36 lines
		
	
	
		
			535 B
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			535 B
		
	
	
	
		
			ArmAsm
		
	
	
	
! wait() "system" call
 | 
						|
! It is really not a system call as it uses wait4().
 | 
						|
 | 
						|
#include "sys/syscallasm.h"
 | 
						|
 | 
						|
	TEXT_SECTION
 | 
						|
	ALIGN (4)
 | 
						|
 | 
						|
#ifdef REENT
 | 
						|
 | 
						|
	GLOBAL (ASM_SYMBOL (_wait_r))
 | 
						|
ASM_SYMBOL (_wait_r):
 | 
						|
	save	%sp,-136,%sp
 | 
						|
	clr	%o1
 | 
						|
	mov	%i1,%o2
 | 
						|
	clr	%o3
 | 
						|
	call	ASM_SYMBOL (_wait4_r)
 | 
						|
	clr	%o4
 | 
						|
	jmpl	%i7+8,%g0
 | 
						|
	restore	%g0,%o0,%o0
 | 
						|
 | 
						|
#else /* ! REENT */
 | 
						|
 | 
						|
	GLOBAL (ASM_SYMBOL (wait))
 | 
						|
ASM_SYMBOL (wait):
 | 
						|
	save	%sp,-136,%sp
 | 
						|
	clr	%o0
 | 
						|
	mov	%i0,%o1
 | 
						|
	clr	%o2
 | 
						|
	call	ASM_SYMBOL (wait4)
 | 
						|
	clr	%o3
 | 
						|
	jmpl	%i7+8,%g0
 | 
						|
	restore	%g0,%o0,%o0
 | 
						|
 | 
						|
#endif /* ! REENT */
 |