fork.S revision 1.1 1 1.1 ross /* $NetBSD: fork.S,v 1.1 2006/07/01 16:37:20 ross 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