xref: /original-bsd/lib/libc/sparc/sys/Ovfork.s (revision c3e32dec)
1/*
2 * Copyright (c) 1992, 1993
3 *	The Regents of the University of California.  All rights reserved.
4 *
5 * This software was developed by the Computer Systems Engineering group
6 * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
7 * contributed to Berkeley.
8 *
9 * %sccs.include.redist.c%
10 *
11 * from: $Header: Ovfork.s,v 1.1 91/07/06 13:05:56 torek Exp $
12 */
13
14#if defined(LIBC_SCCS) && !defined(lint)
15	.asciz "@(#)Ovfork.s	8.1 (Berkeley) 06/04/93"
16#endif /* LIBC_SCCS and not lint */
17
18/*
19 * pid = vfork();
20 *
21 * %o1 == 0 in parent process, 1 in child process.
22 * %o0 == pid of child in parent, pid of parent in child.
23 */
24
25#include "SYS.h"
26
27SYSCALL(vfork)
28	dec	%o1		! from 1 to 0 in child, 0 to -1 in parent
29	retl
30	and	%o0, %o1, %o0	! return 0 in child, pid in parent
31