Home | History | Annotate | Line # | Download | only in sys
fork.S revision 1.1.64.1
      1  1.1.64.1  martin /*	$NetBSD: fork.S,v 1.1.64.1 2015/02/04 22:00:24 martin Exp $	*/
      2       1.1    ross 
      3       1.1    ross /*
      4       1.1    ross  * pid = fork();
      5       1.1    ross  *
      6       1.1    ross  * r4 == 0 in parent process, 1 in child process.
      7       1.1    ross  * r3 == pid of child in parent, pid of parent in child.
      8       1.1    ross  */
      9       1.1    ross 
     10       1.1    ross #include "SYS.h"
     11       1.1    ross 
     12       1.1    ross _SYSCALL(__fork,fork)
     13       1.1    ross 	addi	%r4,%r4,-1	# from 1 to 0 in child, 0 to -1 in parent
     14       1.1    ross 	and	%r3,%r3,%r4	# return 0 in child, pid in parent
     15       1.1    ross 	blr
     16  1.1.64.1  martin END(__fork)
     17