1*8269e767SBrooks Davis/*- 2*8269e767SBrooks Davis * Copyright (c) 2015 Ruslan Bukin <br@bsdpad.com> 3*8269e767SBrooks Davis * All rights reserved. 4*8269e767SBrooks Davis * 5*8269e767SBrooks Davis * Portions of this software were developed by SRI International and the 6*8269e767SBrooks Davis * University of Cambridge Computer Laboratory under DARPA/AFRL contract 7*8269e767SBrooks Davis * FA8750-10-C-0237 ("CTSRD"), as part of the DARPA CRASH research programme. 8*8269e767SBrooks Davis * 9*8269e767SBrooks Davis * Portions of this software were developed by the University of Cambridge 10*8269e767SBrooks Davis * Computer Laboratory as part of the CTSRD Project, with support from the 11*8269e767SBrooks Davis * UK Higher Education Innovation Fund (HEIF). 12*8269e767SBrooks Davis * 13*8269e767SBrooks Davis * Redistribution and use in source and binary forms, with or without 14*8269e767SBrooks Davis * modification, are permitted provided that the following conditions 15*8269e767SBrooks Davis * are met: 16*8269e767SBrooks Davis * 1. Redistributions of source code must retain the above copyright 17*8269e767SBrooks Davis * notice, this list of conditions and the following disclaimer. 18*8269e767SBrooks Davis * 2. Redistributions in binary form must reproduce the above copyright 19*8269e767SBrooks Davis * notice, this list of conditions and the following disclaimer in the 20*8269e767SBrooks Davis * documentation and/or other materials provided with the distribution. 21*8269e767SBrooks Davis * 22*8269e767SBrooks Davis * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 23*8269e767SBrooks Davis * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24*8269e767SBrooks Davis * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25*8269e767SBrooks Davis * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 26*8269e767SBrooks Davis * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27*8269e767SBrooks Davis * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28*8269e767SBrooks Davis * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29*8269e767SBrooks Davis * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30*8269e767SBrooks Davis * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31*8269e767SBrooks Davis * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32*8269e767SBrooks Davis * SUCH DAMAGE. 33*8269e767SBrooks Davis */ 34*8269e767SBrooks Davis 35*8269e767SBrooks Davis#include <machine/asm.h> 36*8269e767SBrooks Davis#include "SYS.h" 37*8269e767SBrooks Davis 38*8269e767SBrooks DavisENTRY(__sys_vfork) 39*8269e767SBrooks Davis WEAK_REFERENCE(__sys_vfork, vfork) 40*8269e767SBrooks Davis WEAK_REFERENCE(__sys_vfork, _vfork) 41*8269e767SBrooks Davis mv a2, ra 42*8269e767SBrooks Davis 43*8269e767SBrooks Davis _SYSCALL(vfork) 44*8269e767SBrooks Davis bnez t0, 1f 45*8269e767SBrooks Davis addi a1, a1, -1 46*8269e767SBrooks Davis and a0, a0, a1 47*8269e767SBrooks Davis mv ra, a2 48*8269e767SBrooks Davis 49*8269e767SBrooks Davis ret 50*8269e767SBrooks Davis1: la t1, cerror 51*8269e767SBrooks Davis jr t1 52*8269e767SBrooks DavisEND(__sys_vfork) 53