1*cf88c389Smatt/* $NetBSD: __vfork14.S,v 1.4 2011/01/15 07:31:12 matt Exp $ */ 2bedc7b48Sthorpej 3bedc7b48Sthorpej/* 4bedc7b48Sthorpej * pid = vfork(); 5bedc7b48Sthorpej * 6bedc7b48Sthorpej * r4 == 0 in parent process, 1 in child process. 7bedc7b48Sthorpej * r3 == pid of child in parent, pid of parent in child. 8bedc7b48Sthorpej */ 9bedc7b48Sthorpej 10bedc7b48Sthorpej#include "SYS.h" 11bedc7b48Sthorpej 12bedc7b48SthorpejSYSCALL(__vfork14) 131cddd41eSmatt addi %r4,%r4,-1 # from 1 to 0 in child, 0 to -1 in parent 141cddd41eSmatt and %r3,%r3,%r4 # return 0 in child, pid in parent 15bedc7b48Sthorpej blr 16*cf88c389SmattEND(__vfork14) 17