Remove these abortive MIPS bits.
This commit is contained in:
parent
bb28f3c29b
commit
d9c0a739c5
@ -1,5 +0,0 @@
|
||||
?sys_nerr?
|
||||
.-4,.+1m1
|
||||
.+1,$g/\.data/s//\.text/
|
||||
w
|
||||
q
|
@ -1,4 +0,0 @@
|
||||
# $OpenBSD: Makefile.inc,v 1.1.1.1 1995/10/18 08:41:33 deraadt Exp $
|
||||
|
||||
KMINCLUDES=
|
||||
KMSRCS=
|
@ -1,81 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $OpenBSD: SYS.h,v 1.3 1996/07/30 20:27:48 pefo Exp $
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include <sys/syscall.h>
|
||||
#include <machine/asm.h>
|
||||
|
||||
#ifdef __STDC__
|
||||
#define RSYSCALL(x) \
|
||||
LEAF(x); \
|
||||
li v0,SYS_ ## x; \
|
||||
syscall; \
|
||||
bne a3,zero,err; \
|
||||
j ra; \
|
||||
err: la t9, cerror; \
|
||||
jr t9; \
|
||||
END(x);
|
||||
#define PSEUDO(x,y) \
|
||||
LEAF(x); \
|
||||
li v0,SYS_ ## y; \
|
||||
syscall; \
|
||||
bne a3,zero,err; \
|
||||
j ra; \
|
||||
err: la t9, cerror; \
|
||||
jr t9; \
|
||||
END(x);
|
||||
#else
|
||||
#define RSYSCALL(x) \
|
||||
LEAF(x); \
|
||||
li v0,SYS_/**/x; \
|
||||
syscall; \
|
||||
bne a3,zero,err; \
|
||||
j ra; \
|
||||
err: la t9, cerror; \
|
||||
jr t9; \
|
||||
END(x);
|
||||
#define PSEUDO(x,y) \
|
||||
LEAF(x); \
|
||||
li v0,SYS_/**/y; \
|
||||
syscall; \
|
||||
bne a3,zero,err; \
|
||||
j ra; \
|
||||
err: la t9, cerror; \
|
||||
jr t9; \
|
||||
END(x);
|
||||
#endif
|
@ -1,6 +0,0 @@
|
||||
# $OpenBSD: Makefile.inc,v 1.4 1995/12/15 01:12:36 jonathan Exp $
|
||||
|
||||
SRCS+= _setjmp.S fabs.S frexp.c infinity.c isinf.S ldexp.S modf.S
|
||||
SRCS+= flt_rounds.c fpgetmask.c fpgetround.c fpgetsticky.c fpsetmask.c \
|
||||
fpsetround.c fpsetsticky.c
|
||||
SRCS+= setjmp.S sigsetjmp.S
|
@ -1,132 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/regnum.h>
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD: _setjmp.S,v 1.5 1996/08/19 08:15:51 tholo Exp $"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
/*
|
||||
* C library -- _setjmp, _longjmp
|
||||
*
|
||||
* _longjmp(a,v)
|
||||
* will generate a "return(v)" from
|
||||
* the last call to
|
||||
* _setjmp(a)
|
||||
* by restoring registers from the stack,
|
||||
* The previous signal state is NOT restored.
|
||||
*/
|
||||
|
||||
LEAF(_setjmp)
|
||||
.set noreorder
|
||||
li v0, 0xACEDBADE # sigcontext magic number
|
||||
sw ra, (2 * 4)(a0) # sc_pc = return address
|
||||
sw v0, (3 * 4)(a0) # saved in sc_regs[0]
|
||||
sw s0, ((S0 + 3) * 4)(a0)
|
||||
sw s1, ((S1 + 3) * 4)(a0)
|
||||
sw s2, ((S2 + 3) * 4)(a0)
|
||||
sw s3, ((S3 + 3) * 4)(a0)
|
||||
sw s4, ((S4 + 3) * 4)(a0)
|
||||
sw s5, ((S5 + 3) * 4)(a0)
|
||||
sw s6, ((S6 + 3) * 4)(a0)
|
||||
sw s7, ((S7 + 3) * 4)(a0)
|
||||
sw sp, ((SP + 3) * 4)(a0)
|
||||
sw s8, ((S8 + 3) * 4)(a0)
|
||||
cfc1 v0, $31 # too bad cant check if FP used
|
||||
swc1 $f20, ((20 + 38) * 4)(a0)
|
||||
swc1 $f21, ((21 + 38) * 4)(a0)
|
||||
swc1 $f22, ((22 + 38) * 4)(a0)
|
||||
swc1 $f23, ((23 + 38) * 4)(a0)
|
||||
swc1 $f24, ((24 + 38) * 4)(a0)
|
||||
swc1 $f25, ((25 + 38) * 4)(a0)
|
||||
swc1 $f26, ((26 + 38) * 4)(a0)
|
||||
swc1 $f27, ((27 + 38) * 4)(a0)
|
||||
swc1 $f28, ((28 + 38) * 4)(a0)
|
||||
swc1 $f29, ((29 + 38) * 4)(a0)
|
||||
swc1 $f30, ((30 + 38) * 4)(a0)
|
||||
swc1 $f31, ((31 + 38) * 4)(a0)
|
||||
sw v0, ((32 + 38) * 4)(a0)
|
||||
j ra
|
||||
move v0, zero
|
||||
END(_setjmp)
|
||||
|
||||
LEAF(_longjmp)
|
||||
#ifdef ABICALLS
|
||||
subu sp, sp, 32
|
||||
.cprestore 16
|
||||
#endif
|
||||
.set noreorder
|
||||
lw v0, (3 * 4)(a0) # get magic number
|
||||
lw ra, (2 * 4)(a0)
|
||||
bne v0, 0xACEDBADE, botch # jump if error
|
||||
|
||||
addu sp, sp, 32 # does not matter, sanity
|
||||
lw s0, ((S0 + 3) * 4)(a0)
|
||||
lw s1, ((S1 + 3) * 4)(a0)
|
||||
lw s2, ((S2 + 3) * 4)(a0)
|
||||
lw s3, ((S3 + 3) * 4)(a0)
|
||||
lw s4, ((S4 + 3) * 4)(a0)
|
||||
lw s5, ((S5 + 3) * 4)(a0)
|
||||
lw s6, ((S6 + 3) * 4)(a0)
|
||||
lw s7, ((S7 + 3) * 4)(a0)
|
||||
lw v0, ((32 + 38) * 4)(a0) # get fpu status
|
||||
lw sp, ((SP + 3) * 4)(a0)
|
||||
lw s8, ((S8 + 3) * 4)(a0)
|
||||
ctc1 v0, $31
|
||||
lwc1 $f20, ((20 + 38) * 4)(a0)
|
||||
lwc1 $f21, ((21 + 38) * 4)(a0)
|
||||
lwc1 $f22, ((22 + 38) * 4)(a0)
|
||||
lwc1 $f23, ((23 + 38) * 4)(a0)
|
||||
lwc1 $f24, ((24 + 38) * 4)(a0)
|
||||
lwc1 $f25, ((25 + 38) * 4)(a0)
|
||||
lwc1 $f26, ((26 + 38) * 4)(a0)
|
||||
lwc1 $f27, ((27 + 38) * 4)(a0)
|
||||
lwc1 $f28, ((28 + 38) * 4)(a0)
|
||||
lwc1 $f29, ((29 + 38) * 4)(a0)
|
||||
lwc1 $f30, ((30 + 38) * 4)(a0)
|
||||
lwc1 $f31, ((31 + 38) * 4)(a0)
|
||||
|
||||
j ra
|
||||
move v0, a1
|
||||
botch:
|
||||
jal _C_LABEL(longjmperror)
|
||||
nop
|
||||
jal _C_LABEL(abort)
|
||||
nop
|
||||
END(_longjmp)
|
@ -1,54 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
/*
|
||||
* fabs(x)
|
||||
* double x;
|
||||
*
|
||||
* Return absolute value of x.
|
||||
*/
|
||||
LEAF(fabs)
|
||||
.set noreorder
|
||||
j ra
|
||||
abs.d $f0, $f12 # compute absolute value of x
|
||||
END(fabs)
|
@ -1,30 +0,0 @@
|
||||
/*
|
||||
* Written by J.T. Conklin, Apr 11, 1995
|
||||
* Public domain.
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <machine/float.h>
|
||||
|
||||
#if defined(LIBC_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$OpenBSD: flt_rounds.c,v 1.3 1997/08/01 21:36:28 deraadt Exp $";
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
static const int map[] = {
|
||||
1, /* round to nearest */
|
||||
0, /* round to zero */
|
||||
2, /* round to positive infinity */
|
||||
3 /* round to negative infinity */
|
||||
};
|
||||
|
||||
int
|
||||
__flt_rounds()
|
||||
{
|
||||
int x;
|
||||
|
||||
__asm__("cfc1 %0,$31" : "=r" (x));
|
||||
return map[x & 0x03];
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
/*
|
||||
* Written by J.T. Conklin, Apr 11, 1995
|
||||
* Public domain.
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
#include <ieeefp.h>
|
||||
|
||||
fp_except
|
||||
fpgetmask()
|
||||
{
|
||||
int x;
|
||||
|
||||
__asm__("cfc1 %0,$31" : "=r" (x));
|
||||
return (x >> 7) & 0x1f;
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
/*
|
||||
* Written by J.T. Conklin, Apr 11, 1995
|
||||
* Public domain.
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
#include <ieeefp.h>
|
||||
|
||||
fp_rnd
|
||||
fpgetround()
|
||||
{
|
||||
int x;
|
||||
|
||||
__asm__("cfc1 %0,$31" : "=r" (x));
|
||||
return x & 0x03;
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
/*
|
||||
* Written by J.T. Conklin, Apr 11, 1995
|
||||
* Public domain.
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
#include <ieeefp.h>
|
||||
|
||||
fp_except
|
||||
fpgetsticky()
|
||||
{
|
||||
int x;
|
||||
|
||||
__asm__("cfc1 %0,$31" : "=r" (x));
|
||||
return (x >> 2) & 0x1f;
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
/*
|
||||
* Written by J.T. Conklin, Apr 11, 1995
|
||||
* Public domain.
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
#include <ieeefp.h>
|
||||
|
||||
fp_except
|
||||
fpsetmask(mask)
|
||||
fp_except mask;
|
||||
{
|
||||
fp_except old;
|
||||
fp_except new;
|
||||
|
||||
__asm__("cfc1 %0,$31" : "=r" (old));
|
||||
|
||||
new = old;
|
||||
new &= ~(0x1f << 7);
|
||||
new |= ((mask & 0x1f) << 7);
|
||||
|
||||
__asm__("ctc1 %0,$31" : : "r" (new));
|
||||
|
||||
return (old >> 7) & 0x1f;
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
/*
|
||||
* Written by J.T. Conklin, Apr 11, 1995
|
||||
* Public domain.
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
#include <ieeefp.h>
|
||||
|
||||
fp_rnd
|
||||
fpsetround(rnd_dir)
|
||||
fp_rnd rnd_dir;
|
||||
{
|
||||
fp_rnd old;
|
||||
fp_rnd new;
|
||||
|
||||
__asm__("cfc1 %0,$31" : "=r" (old));
|
||||
|
||||
new = old;
|
||||
new &= ~0x03;
|
||||
new |= (rnd_dir & 0x03);
|
||||
|
||||
__asm__("ctc1 %0,$31" : : "r" (new));
|
||||
|
||||
return old & 0x03;
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
/*
|
||||
* Written by J.T. Conklin, Apr 11, 1995
|
||||
* Public domain.
|
||||
*/
|
||||
|
||||
#if defined(LIBC_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$OpenBSD$";
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
#include <ieeefp.h>
|
||||
|
||||
fp_except
|
||||
fpsetsticky(sticky)
|
||||
fp_except sticky;
|
||||
{
|
||||
fp_except old;
|
||||
fp_except new;
|
||||
|
||||
__asm__("cfc1 %0,$31" : "=r" (old));
|
||||
|
||||
new = old;
|
||||
new &= ~(0x1f << 2);
|
||||
new |= ((sticky & 0x1f) << 2);
|
||||
|
||||
__asm__("ctc1 %0,$31" : : "r" (new));
|
||||
|
||||
return (old >> 2) & 0x1f;
|
||||
}
|
@ -1,73 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#if defined(LIBC_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$OpenBSD: frexp.c,v 1.3 1997/07/23 20:55:24 kstailey Exp $";
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <machine/endian.h>
|
||||
#include <math.h>
|
||||
|
||||
double
|
||||
frexp(value, eptr)
|
||||
double value;
|
||||
int *eptr;
|
||||
{
|
||||
union {
|
||||
double v;
|
||||
struct {
|
||||
#if BYTE_ORDER == LITTLE_ENDIAN
|
||||
u_int u_mant2 : 32;
|
||||
u_int u_mant1 : 20;
|
||||
u_int u_exp : 11;
|
||||
u_int u_sign : 1;
|
||||
#else
|
||||
u_int u_sign : 1;
|
||||
u_int u_exp : 11;
|
||||
u_int u_mant1 : 20;
|
||||
u_int u_mant2 : 32;
|
||||
#endif
|
||||
} s;
|
||||
} u;
|
||||
|
||||
if (value) {
|
||||
u.v = value;
|
||||
*eptr = u.s.u_exp - 1022;
|
||||
u.s.u_exp = 1022;
|
||||
return(u.v);
|
||||
} else {
|
||||
*eptr = 0;
|
||||
return((double)0);
|
||||
}
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
/* infinity.c */
|
||||
|
||||
#if defined(LIBC_SCCS) && !defined(lint)
|
||||
static char rcsid[] = "$OpenBSD: infinity.c,v 1.2 1996/08/19 08:16:01 tholo Exp $";
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
#include <math.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
/* bytes for +Infinity on a MIPS */
|
||||
#if BYTE_ORDER == BIG_ENDIAN
|
||||
char __infinity[] = { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 };
|
||||
#else
|
||||
char __infinity[] = { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f };
|
||||
#endif
|
@ -1,95 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
#define DEXP_INF 0x7ff
|
||||
|
||||
/*
|
||||
* isnan(x)
|
||||
* double x;
|
||||
*
|
||||
* Return true if x is a NAN.
|
||||
*/
|
||||
LEAF(isnan)
|
||||
.set noreorder
|
||||
mfc1 v1, $f13 # get MSW of x
|
||||
mfc1 t3, $f12 # get LSW of x
|
||||
sll t1, v1, 1 # get x exponent
|
||||
srl t1, t1, 32 - 11
|
||||
bne t1, DEXP_INF, 2f # is it a finite number?
|
||||
sll t2, v1, 32 - 20 # get x fraction
|
||||
bne t3, zero, 1f # is it a NAN?
|
||||
nop
|
||||
beq t2, zero, 2f # its infinity
|
||||
nop
|
||||
1:
|
||||
j ra
|
||||
li v0, 1 # x is a NAN
|
||||
2:
|
||||
j ra
|
||||
move v0, zero # x is NOT a NAN
|
||||
END(isnan)
|
||||
|
||||
/*
|
||||
* isinf(x)
|
||||
* double x;
|
||||
*
|
||||
* Return true if x is infinity.
|
||||
*/
|
||||
LEAF(isinf)
|
||||
.set noreorder
|
||||
mfc1 v1, $f13 # get MSW of x
|
||||
mfc1 t3, $f12 # get LSW of x
|
||||
sll t1, v1, 1 # get x exponent
|
||||
srl t1, t1, 32 - 11
|
||||
bne t1, DEXP_INF, 1f # is it a finite number?
|
||||
sll t2, v1, 32 - 20 # get x fraction
|
||||
bne t3, zero, 1f # is it a NAN?
|
||||
nop
|
||||
bne t2, zero, 1f # is it a NAN?
|
||||
nop
|
||||
j ra
|
||||
li v0, 1 # x is infinity
|
||||
1:
|
||||
j ra
|
||||
move v0, zero # x is NOT infinity
|
||||
END(isinf)
|
@ -1,217 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
#define DEXP_INF 0x7ff
|
||||
#define DEXP_BIAS 1023
|
||||
#define DEXP_MIN -1022
|
||||
#define DEXP_MAX 1023
|
||||
#define DFRAC_BITS 52
|
||||
#define DIMPL_ONE 0x00100000
|
||||
#define DLEAD_ZEROS 31 - 20
|
||||
#define STICKYBIT 1
|
||||
#define GUARDBIT 0x80000000
|
||||
#define DSIGNAL_NAN 0x00040000
|
||||
#define DQUIET_NAN0 0x0007ffff
|
||||
#define DQUIET_NAN1 0xffffffff
|
||||
|
||||
/*
|
||||
* double ldexp(x, N)
|
||||
* double x; int N;
|
||||
*
|
||||
* Return x * (2**N), for integer values N.
|
||||
*/
|
||||
LEAF(ldexp)
|
||||
.set reorder
|
||||
mfc1 v1, $f13 # get MSW of x
|
||||
mfc1 t3, $f12 # get LSW of x
|
||||
sll t1, v1, 1 # get x exponent
|
||||
srl t1, t1, 32 - 11
|
||||
beq t1, DEXP_INF, 9f # is it a NAN or infinity?
|
||||
beq t1, zero, 1f # zero or denormalized number?
|
||||
addu t1, t1, a2 # scale exponent
|
||||
sll v0, a2, 20 # position N for addition
|
||||
bge t1, DEXP_INF, 8f # overflow?
|
||||
addu v0, v0, v1 # multiply by (2**N)
|
||||
ble t1, zero, 4f # underflow?
|
||||
mtc1 v0, $f1 # save MSW of result
|
||||
mtc1 t3, $f0 # save LSW of result
|
||||
j ra
|
||||
1:
|
||||
sll t2, v1, 32 - 20 # get x fraction
|
||||
srl t2, t2, 32 - 20
|
||||
srl t0, v1, 31 # get x sign
|
||||
bne t2, zero, 1f
|
||||
beq t3, zero, 9f # result is zero
|
||||
1:
|
||||
/*
|
||||
* Find out how many leading zero bits are in t2,t3 and put in t9.
|
||||
*/
|
||||
move v0, t2
|
||||
move t9, zero
|
||||
bne t2, zero, 1f
|
||||
move v0, t3
|
||||
addu t9, 32
|
||||
1:
|
||||
srl t4, v0, 16
|
||||
bne t4, zero, 1f
|
||||
addu t9, 16
|
||||
sll v0, 16
|
||||
1:
|
||||
srl t4, v0, 24
|
||||
bne t4, zero, 1f
|
||||
addu t9, 8
|
||||
sll v0, 8
|
||||
1:
|
||||
srl t4, v0, 28
|
||||
bne t4, zero, 1f
|
||||
addu t9, 4
|
||||
sll v0, 4
|
||||
1:
|
||||
srl t4, v0, 30
|
||||
bne t4, zero, 1f
|
||||
addu t9, 2
|
||||
sll v0, 2
|
||||
1:
|
||||
srl t4, v0, 31
|
||||
bne t4, zero, 1f
|
||||
addu t9, 1
|
||||
/*
|
||||
* Now shift t2,t3 the correct number of bits.
|
||||
*/
|
||||
1:
|
||||
subu t9, t9, DLEAD_ZEROS # dont count normal leading zeros
|
||||
li t1, DEXP_MIN + DEXP_BIAS
|
||||
subu t1, t1, t9 # adjust exponent
|
||||
addu t1, t1, a2 # scale exponent
|
||||
li v0, 32
|
||||
blt t9, v0, 1f
|
||||
subu t9, t9, v0 # shift fraction left >= 32 bits
|
||||
sll t2, t3, t9
|
||||
move t3, zero
|
||||
b 2f
|
||||
1:
|
||||
subu v0, v0, t9 # shift fraction left < 32 bits
|
||||
sll t2, t2, t9
|
||||
srl t4, t3, v0
|
||||
or t2, t2, t4
|
||||
sll t3, t3, t9
|
||||
2:
|
||||
bge t1, DEXP_INF, 8f # overflow?
|
||||
ble t1, zero, 4f # underflow?
|
||||
sll t2, t2, 32 - 20 # clear implied one bit
|
||||
srl t2, t2, 32 - 20
|
||||
3:
|
||||
sll t1, t1, 31 - 11 # reposition exponent
|
||||
sll t0, t0, 31 # reposition sign
|
||||
or t0, t0, t1 # put result back together
|
||||
or t0, t0, t2
|
||||
mtc1 t0, $f1 # save MSW of result
|
||||
mtc1 t3, $f0 # save LSW of result
|
||||
j ra
|
||||
4:
|
||||
li v0, 0x80000000
|
||||
ble t1, -52, 7f # is result too small for denorm?
|
||||
sll t2, v1, 31 - 20 # clear exponent, extract fraction
|
||||
or t2, t2, v0 # set implied one bit
|
||||
blt t1, -30, 2f # will all bits in t3 be shifted out?
|
||||
srl t2, t2, 31 - 20 # shift fraction back to normal position
|
||||
subu t1, t1, 1
|
||||
sll t4, t2, t1 # shift right t2,t3 based on exponent
|
||||
srl t8, t3, t1 # save bits shifted out
|
||||
negu t1
|
||||
srl t3, t3, t1
|
||||
or t3, t3, t4
|
||||
srl t2, t2, t1
|
||||
bge t8, zero, 1f # does result need to be rounded?
|
||||
addu t3, t3, 1 # round result
|
||||
sltu t4, t3, 1
|
||||
sll t8, t8, 1
|
||||
addu t2, t2, t4
|
||||
bne t8, zero, 1f # round result to nearest
|
||||
and t3, t3, ~1
|
||||
1:
|
||||
mtc1 t3, $f0 # save denormalized result (LSW)
|
||||
mtc1 t2, $f1 # save denormalized result (MSW)
|
||||
bge v1, zero, 1f # should result be negative?
|
||||
neg.d $f0, $f0 # negate result
|
||||
1:
|
||||
j ra
|
||||
2:
|
||||
mtc1 zero, $f1 # exponent and upper fraction
|
||||
addu t1, t1, 20 # compute amount to shift right by
|
||||
sll t8, t2, t1 # save bits shifted out
|
||||
negu t1
|
||||
srl t3, t2, t1
|
||||
bge t8, zero, 1f # does result need to be rounded?
|
||||
addu t3, t3, 1 # round result
|
||||
sltu t4, t3, 1
|
||||
sll t8, t8, 1
|
||||
mtc1 t4, $f1 # exponent and upper fraction
|
||||
bne t8, zero, 1f # round result to nearest
|
||||
and t3, t3, ~1
|
||||
1:
|
||||
mtc1 t3, $f0
|
||||
bge v1, zero, 1f # is result negative?
|
||||
neg.d $f0, $f0 # negate result
|
||||
1:
|
||||
j ra
|
||||
7:
|
||||
mtc1 zero, $f0 # result is zero
|
||||
mtc1 zero, $f1
|
||||
beq t0, zero, 1f # is result positive?
|
||||
neg.d $f0, $f0 # negate result
|
||||
1:
|
||||
j ra
|
||||
8:
|
||||
li t1, 0x7ff00000 # result is infinity (MSW)
|
||||
mtc1 t1, $f1
|
||||
mtc1 zero, $f0 # result is infinity (LSW)
|
||||
bge v1, zero, 1f # should result be negative infinity?
|
||||
neg.d $f0, $f0 # result is negative infinity
|
||||
1:
|
||||
add.d $f0, $f0 # cause overflow faults if enabled
|
||||
j ra
|
||||
9:
|
||||
mov.d $f0, $f12 # yes, result is just x
|
||||
j ra
|
||||
END(ldexp)
|
@ -1,75 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993, 1995
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
/*
|
||||
* double modf(val, iptr)
|
||||
* double val, *iptr;
|
||||
* returns: xxx and n (in *iptr) where val == n.xxx
|
||||
*/
|
||||
LEAF(modf)
|
||||
.set reorder
|
||||
cfc1 t0, $31 # get the control register
|
||||
li.d $f2, 4503599627370496e0 # f2 <- 2^52
|
||||
|
||||
or t1, t0, 0x3 # set rounding mode to round to zero
|
||||
xor t1, t1, 0x2 # (i.e., 01)
|
||||
ctc1 t1, $31
|
||||
|
||||
mov.d $f0, $f12 # f0 <- f12
|
||||
abs.d $f4, $f12 # f4 <- |f12|
|
||||
c.olt.d $f4, $f2 # f4 ? < f2
|
||||
bc1f 1f # leave f0 alone if Nan, infinity
|
||||
# or >=2^52
|
||||
c.eq.d $f12,$f4 # was f12 positive ?
|
||||
add.d $f4,$f2,$f4 # round off to integer
|
||||
bc1f 2f # No -> will have to negate result
|
||||
sub.d $f0,$f4,$f2 # Remove fudge factor
|
||||
j 1f # integer fraction got
|
||||
2:
|
||||
sub.d $f0,$f2,$f4 # Remove fudge factor and negate
|
||||
1:
|
||||
ctc1 t0, $31 # restore old rounding mode
|
||||
s.d $f0, 0(a2) # save the integer part
|
||||
sub.d $f0, $f12, $f0 # subtract val - integer part
|
||||
j ra
|
||||
END(modf)
|
@ -1,128 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <sys/syscall.h>
|
||||
#include <machine/asm.h>
|
||||
#include <machine/regnum.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD: setjmp.S,v 1.6 1997/07/23 20:55:25 kstailey Exp $"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
/*
|
||||
* C library -- setjmp, longjmp
|
||||
*
|
||||
* longjmp(a,v)
|
||||
* will generate a "return(v)" from
|
||||
* the last call to
|
||||
* setjmp(a)
|
||||
* by restoring registers from the stack,
|
||||
* and a struct sigcontext, see <signal.h>
|
||||
*/
|
||||
|
||||
#define SETJMP_FRAME_SIZE (STAND_FRAME_SIZE + 12)
|
||||
|
||||
NON_LEAF(setjmp, SETJMP_FRAME_SIZE, ra)
|
||||
.mask 0x80000000, (STAND_RA_OFFSET - STAND_FRAME_SIZE)
|
||||
subu sp, sp, SETJMP_FRAME_SIZE # allocate stack frame
|
||||
#ifdef ABICALLS
|
||||
.cprestore 16
|
||||
#endif
|
||||
.set reorder
|
||||
sw ra, STAND_RA_OFFSET(sp) # save state
|
||||
sw a0, SETJMP_FRAME_SIZE(sp)
|
||||
move a0, zero # get current signal mask
|
||||
jal _C_LABEL(sigblock)
|
||||
lw v1, SETJMP_FRAME_SIZE(sp) # v1 = jmpbuf
|
||||
sw v0, (1 * 4)(v1) # save sc_mask = sigblock(0)
|
||||
move a0, zero
|
||||
addu a1, sp, STAND_FRAME_SIZE # pointer to struct sigaltstack
|
||||
jal _C_LABEL(sigaltstack)
|
||||
lw a0, SETJMP_FRAME_SIZE(sp) # restore jmpbuf
|
||||
lw v1, STAND_FRAME_SIZE+8(sp) # get old ss_onstack
|
||||
and v1, v1, 1 # extract onstack flag
|
||||
sw v1, 0(a0) # save it in sc_onstack
|
||||
lw ra, STAND_RA_OFFSET(sp)
|
||||
addu sp, sp, SETJMP_FRAME_SIZE
|
||||
blt v0, zero, botch # check for sigstack() error
|
||||
sw ra, (2 * 4)(a0) # sc_pc = return address
|
||||
li v0, 0xACEDBADE # sigcontext magic number
|
||||
sw v0, ((ZERO + 3) * 4)(a0) # saved in sc_regs[0]
|
||||
sw s0, ((S0 + 3) * 4)(a0)
|
||||
sw s1, ((S1 + 3) * 4)(a0)
|
||||
sw s2, ((S2 + 3) * 4)(a0)
|
||||
sw s3, ((S3 + 3) * 4)(a0)
|
||||
sw s4, ((S4 + 3) * 4)(a0)
|
||||
sw s5, ((S5 + 3) * 4)(a0)
|
||||
sw s6, ((S6 + 3) * 4)(a0)
|
||||
sw s7, ((S7 + 3) * 4)(a0)
|
||||
sw gp, ((GP + 3) * 4)(a0)
|
||||
sw sp, ((SP + 3) * 4)(a0)
|
||||
sw s8, ((S8 + 3) * 4)(a0)
|
||||
li v0, 1 # be nice if we could tell
|
||||
sw v0, (37 * 4)(a0) # sc_fpused = 1
|
||||
cfc1 v0, $31
|
||||
swc1 $f20, ((20 + 38) * 4)(a0)
|
||||
swc1 $f21, ((21 + 38) * 4)(a0)
|
||||
swc1 $f22, ((22 + 38) * 4)(a0)
|
||||
swc1 $f23, ((23 + 38) * 4)(a0)
|
||||
swc1 $f24, ((24 + 38) * 4)(a0)
|
||||
swc1 $f25, ((25 + 38) * 4)(a0)
|
||||
swc1 $f26, ((26 + 38) * 4)(a0)
|
||||
swc1 $f27, ((27 + 38) * 4)(a0)
|
||||
swc1 $f28, ((28 + 38) * 4)(a0)
|
||||
swc1 $f29, ((29 + 38) * 4)(a0)
|
||||
swc1 $f30, ((30 + 38) * 4)(a0)
|
||||
swc1 $f31, ((31 + 38) * 4)(a0)
|
||||
sw v0, ((32 + 38) * 4)(a0)
|
||||
move v0, zero
|
||||
j ra
|
||||
END(setjmp)
|
||||
|
||||
LEAF(longjmp)
|
||||
#ifdef ABICALLS
|
||||
subu sp, sp, 32
|
||||
.cprestore 16
|
||||
#endif
|
||||
.set reorder
|
||||
sw a1, ((V0 + 3) * 4)(a0) # save return value in sc_regs[V0]
|
||||
li v0, SYS_sigreturn
|
||||
syscall
|
||||
botch:
|
||||
jal _C_LABEL(longjmperror)
|
||||
jal _C_LABEL(abort)
|
||||
END(longjmp)
|
@ -1,78 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993, 1995,
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Havard Eidnes.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <sys/syscall.h>
|
||||
#include <machine/regnum.h>
|
||||
#include <machine/asm.h>
|
||||
#include <machine/setjmp.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
/*
|
||||
* C library -- sigsetjmp, siglongjmp
|
||||
*
|
||||
* siglongjmp(a,v)
|
||||
* will generate a "return(v)" from
|
||||
* the last call to
|
||||
* sigsetjmp(a, savemask)
|
||||
* by restoring registers from the stack,
|
||||
* and dependent on savemask restores the
|
||||
* signal mask.
|
||||
*/
|
||||
|
||||
LEAF(sigsetjmp)
|
||||
.set reorder
|
||||
sw a1, (_JBLEN*4)(a0) # save "savemask"
|
||||
bne a1, 0x0, 1f # do saving of signal mask?
|
||||
la t9, _setjmp
|
||||
jr t9
|
||||
|
||||
1: la t9, setjmp
|
||||
jr t9
|
||||
END(sigsetjmp)
|
||||
|
||||
LEAF(siglongjmp)
|
||||
.set reorder
|
||||
lw t0, (_JBLEN * 4)(a0) # get "savemask"
|
||||
bne t0, 0x0, 1f # restore signal mask?
|
||||
la t9, _longjmp
|
||||
jr t9
|
||||
1: la t9, longjmp
|
||||
jr t9
|
||||
END(siglongjmp)
|
@ -1,4 +0,0 @@
|
||||
# $OpenBSD: Makefile.inc,v 1.1 1995/02/25 14:59:01 cgd Exp $
|
||||
|
||||
SRCS+= htonl.S htons.S
|
||||
LSRCS+= htonl.c htons.c
|
@ -1,69 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
/*
|
||||
* netorder = htonl(hostorder)
|
||||
* hostorder = ntohl(netorder)
|
||||
*/
|
||||
ALEAF(ntohl)
|
||||
NLEAF(htonl) # a0 = 0x11223344, return 0x44332211
|
||||
.set reorder
|
||||
#ifdef MIPSEL
|
||||
srl v1, a0, 24 # v1 = 0x00000011
|
||||
sll v0, a0, 24 # v0 = 0x44000000
|
||||
or v0, v0, v1
|
||||
and v1, a0, 0xff00
|
||||
sll v1, v1, 8 # v1 = 0x00330000
|
||||
or v0, v0, v1
|
||||
srl v1, a0, 8
|
||||
and v1, v1, 0xff00 # v1 = 0x00002200
|
||||
or v0, v0, v1
|
||||
#else
|
||||
#ifdef MIPSEB
|
||||
move v0, a0
|
||||
#else
|
||||
ERROR
|
||||
#endif
|
||||
#endif
|
||||
j ra
|
||||
END(htonl)
|
@ -1,65 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
/*
|
||||
* netorder = htons(hostorder)
|
||||
* hostorder = ntohs(netorder)
|
||||
*/
|
||||
ALEAF(ntohs)
|
||||
NLEAF(htons)
|
||||
.set reorder
|
||||
#ifdef MIPSEL
|
||||
srl v0, a0, 8
|
||||
and v0, v0, 0xff
|
||||
sll v1, a0, 8
|
||||
and v1, v1, 0xff00
|
||||
or v0, v0, v1
|
||||
#else
|
||||
#ifdef MIPSEB
|
||||
move v0, a0
|
||||
#else
|
||||
ERROR
|
||||
#endif
|
||||
#endif
|
||||
j ra
|
||||
END(htons)
|
@ -1,7 +0,0 @@
|
||||
# $OpenBSD: Makefile.inc,v 1.1 1995/03/20 14:45:47 mycroft Exp $
|
||||
|
||||
SRCS+= bcmp.S bcopy.S bzero.S ffs.S index.S memchr.c memcmp.c memset.c \
|
||||
rindex.S strcat.c strcmp.S strcpy.c strcspn.c strlen.S \
|
||||
strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
|
||||
strspn.c strstr.c swab.c
|
||||
LSRCS+= bcmp.c bcopy.c bzero.c ffs.c index.c rindex.c strcmp.c strlen.c
|
@ -1,120 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
/* bcmp(s1, s2, n) */
|
||||
|
||||
LEAF(bcmp)
|
||||
.set noreorder
|
||||
blt a2, 16, small # is it worth any trouble?
|
||||
xor v0, a0, a1 # compare low two bits of addresses
|
||||
and v0, v0, 3
|
||||
subu a3, zero, a1 # compute # bytes to word align address
|
||||
bne v0, zero, unaligned # not possible to align addresses
|
||||
and a3, a3, 3
|
||||
|
||||
beq a3, zero, 1f
|
||||
subu a2, a2, a3 # subtract from remaining count
|
||||
move v0, v1 # init v0,v1 so unmodified bytes match
|
||||
LWHI v0, 0(a0) # read 1, 2, or 3 bytes
|
||||
LWHI v1, 0(a1)
|
||||
addu a1, a1, a3
|
||||
bne v0, v1, nomatch
|
||||
addu a0, a0, a3
|
||||
1:
|
||||
and a3, a2, ~3 # compute number of whole words left
|
||||
subu a2, a2, a3 # which has to be >= (16-3) & ~3
|
||||
addu a3, a3, a0 # compute ending address
|
||||
2:
|
||||
lw v0, 0(a0) # compare words
|
||||
lw v1, 0(a1)
|
||||
addu a0, a0, 4
|
||||
bne v0, v1, nomatch
|
||||
addu a1, a1, 4
|
||||
bne a0, a3, 2b
|
||||
nop
|
||||
b small # finish remainder
|
||||
nop
|
||||
unaligned:
|
||||
beq a3, zero, 2f
|
||||
subu a2, a2, a3 # subtract from remaining count
|
||||
addu a3, a3, a0 # compute ending address
|
||||
1:
|
||||
lbu v0, 0(a0) # compare bytes until a1 word aligned
|
||||
lbu v1, 0(a1)
|
||||
addu a0, a0, 1
|
||||
bne v0, v1, nomatch
|
||||
addu a1, a1, 1
|
||||
bne a0, a3, 1b
|
||||
nop
|
||||
2:
|
||||
and a3, a2, ~3 # compute number of whole words left
|
||||
subu a2, a2, a3 # which has to be >= (16-3) & ~3
|
||||
addu a3, a3, a0 # compute ending address
|
||||
3:
|
||||
LWHI v0, 0(a0) # compare words a0 unaligned, a1 aligned
|
||||
LWLO v0, 3(a0)
|
||||
lw v1, 0(a1)
|
||||
addu a0, a0, 4
|
||||
bne v0, v1, nomatch
|
||||
addu a1, a1, 4
|
||||
bne a0, a3, 3b
|
||||
nop
|
||||
small:
|
||||
ble a2, zero, match
|
||||
addu a3, a2, a0 # compute ending address
|
||||
1:
|
||||
lbu v0, 0(a0)
|
||||
lbu v1, 0(a1)
|
||||
addu a0, a0, 1
|
||||
bne v0, v1, nomatch
|
||||
addu a1, a1, 1
|
||||
bne a0, a3, 1b
|
||||
nop
|
||||
match:
|
||||
j ra
|
||||
move v0, zero
|
||||
nomatch:
|
||||
j ra
|
||||
li v0, 1
|
||||
.set reorder
|
||||
END(bcmp)
|
@ -1,127 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
/* bcopy(s1, s2, n) */
|
||||
|
||||
|
||||
LEAF(bcopy)
|
||||
.set noreorder
|
||||
addu t0, a0, a2 # t0 = end of s1 region
|
||||
sltu t1, a1, t0
|
||||
sltu t2, a0, a1
|
||||
and t1, t1, t2 # t1 = true if from < to < (from+len)
|
||||
beq t1, zero, forward # non overlapping, do forward copy
|
||||
slt t2, a2, 12 # check for small copy
|
||||
|
||||
ble a2, zero, 2f
|
||||
addu t1, a1, a2 # t1 = end of to region
|
||||
1:
|
||||
lb v0, -1(t0) # copy bytes backwards,
|
||||
subu t0, t0, 1 # doesnt happen often so do slow way
|
||||
subu t1, t1, 1
|
||||
bne t0, a0, 1b
|
||||
sb v0, 0(t1)
|
||||
2:
|
||||
j ra
|
||||
nop
|
||||
forward:
|
||||
bne t2, zero, smallcpy # do a small bcopy
|
||||
xor v0, a0, a1 # compare low two bits of addresses
|
||||
and v0, v0, 3
|
||||
subu a3, zero, a1 # compute # bytes to word align address
|
||||
beq v0, zero, aligned # addresses can be word aligned
|
||||
and a3, a3, 3
|
||||
|
||||
beq a3, zero, 1f
|
||||
subu a2, a2, a3 # subtract from remaining count
|
||||
LWHI v0, 0(a0) # get next 4 bytes (unaligned)
|
||||
LWLO v0, 3(a0)
|
||||
addu a0, a0, a3
|
||||
SWHI v0, 0(a1) # store 1, 2, or 3 bytes to align a1
|
||||
addu a1, a1, a3
|
||||
1:
|
||||
and v0, a2, 3 # compute number of words left
|
||||
subu a3, a2, v0
|
||||
move a2, v0
|
||||
addu a3, a3, a0 # compute ending address
|
||||
2:
|
||||
LWHI v0, 0(a0) # copy words a0 unaligned, a1 aligned
|
||||
LWLO v0, 3(a0)
|
||||
addu a0, a0, 4
|
||||
addu a1, a1, 4
|
||||
bne a0, a3, 2b
|
||||
sw v0, -4(a1)
|
||||
b smallcpy
|
||||
nop
|
||||
aligned:
|
||||
beq a3, zero, 1f
|
||||
subu a2, a2, a3 # subtract from remaining count
|
||||
LWHI v0, 0(a0) # copy 1, 2, or 3 bytes to align
|
||||
addu a0, a0, a3
|
||||
SWHI v0, 0(a1)
|
||||
addu a1, a1, a3
|
||||
1:
|
||||
and v0, a2, 3 # compute number of whole words left
|
||||
subu a3, a2, v0
|
||||
move a2, v0
|
||||
addu a3, a3, a0 # compute ending address
|
||||
2:
|
||||
lw v0, 0(a0) # copy words
|
||||
addu a0, a0, 4
|
||||
addu a1, a1, 4
|
||||
bne a0, a3, 2b
|
||||
sw v0, -4(a1)
|
||||
smallcpy:
|
||||
ble a2, zero, 2f
|
||||
addu a3, a2, a0 # compute ending address
|
||||
1:
|
||||
lbu v0, 0(a0) # copy bytes
|
||||
addu a0, a0, 1
|
||||
addu a1, a1, 1
|
||||
bne a0, a3, 1b
|
||||
sb v0, -1(a1)
|
||||
2:
|
||||
j ra
|
||||
nop
|
||||
.set reorder
|
||||
END(bcopy)
|
@ -1,74 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
/* bzero(s1, n) */
|
||||
|
||||
LEAF(bzero)
|
||||
.set noreorder
|
||||
blt a1, 12, smallclr # small amount to clear?
|
||||
subu a3, zero, a0 # compute # bytes to word align address
|
||||
and a3, a3, 3
|
||||
beq a3, zero, 1f # skip if word aligned
|
||||
subu a1, a1, a3 # subtract from remaining count
|
||||
SWHI zero, 0(a0) # clear 1, 2, or 3 bytes to align
|
||||
addu a0, a0, a3
|
||||
1:
|
||||
and v0, a1, 3 # compute number of words left
|
||||
subu a3, a1, v0
|
||||
move a1, v0
|
||||
addu a3, a3, a0 # compute ending address
|
||||
2:
|
||||
addu a0, a0, 4 # clear words
|
||||
bne a0, a3, 2b # unrolling loop doesnt help
|
||||
sw zero, -4(a0) # since we are limited by memory speed
|
||||
smallclr:
|
||||
ble a1, zero, 2f
|
||||
addu a3, a1, a0 # compute ending address
|
||||
1:
|
||||
addu a0, a0, 1 # clear bytes
|
||||
bne a0, a3, 1b
|
||||
sb zero, -1(a0)
|
||||
2:
|
||||
j ra
|
||||
nop
|
||||
END(bzero)
|
@ -1,57 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
/* bit = ffs(value) */
|
||||
|
||||
LEAF(ffs)
|
||||
.set reorder
|
||||
move v0, zero
|
||||
beq a0, zero, done
|
||||
1:
|
||||
and v1, a0, 1 # bit set?
|
||||
addu v0, v0, 1
|
||||
srl a0, a0, 1
|
||||
beq v1, zero, 1b # no, continue
|
||||
done:
|
||||
j ra
|
||||
END(ffs)
|
@ -1,56 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
LEAF(index)
|
||||
.set reorder
|
||||
lbu a2, 0(a0) # get a byte
|
||||
addu a0, a0, 1
|
||||
beq a2, a1, fnd
|
||||
bne a2, zero, _C_LABEL(index)
|
||||
notfnd:
|
||||
move v0, zero
|
||||
j ra
|
||||
fnd:
|
||||
subu v0, a0, 1
|
||||
j ra
|
||||
END(index)
|
@ -1,55 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
LEAF(rindex)
|
||||
.set reorder
|
||||
move v0, zero # default if not found
|
||||
1:
|
||||
lbu a3, 0(a0) # get a byte
|
||||
addu a0, a0, 1
|
||||
bne a3, a1, 2f
|
||||
subu v0, a0, 1 # save address of last match
|
||||
2:
|
||||
bne a3, zero, 1b # continue if not end
|
||||
j ra
|
||||
END(rindex)
|
@ -1,66 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
/*
|
||||
* NOTE: this version assumes unsigned chars in order to be "8 bit clean".
|
||||
*/
|
||||
LEAF(strcmp)
|
||||
.set reorder
|
||||
1:
|
||||
lbu t0, 0(a0) # get two bytes and compare them
|
||||
lbu t1, 0(a1)
|
||||
beq t0, zero, LessOrEq # end of first string?
|
||||
bne t0, t1, NotEq
|
||||
lbu t0, 1(a0) # unroll loop
|
||||
lbu t1, 1(a1)
|
||||
add a0, a0, 2
|
||||
beq t0, zero, LessOrEq # end of first string?
|
||||
add a1, a1, 2
|
||||
beq t0, t1, 1b
|
||||
NotEq:
|
||||
subu v0, t0, t1
|
||||
j ra
|
||||
LessOrEq:
|
||||
subu v0, zero, t1
|
||||
j ra
|
||||
END(strcmp)
|
@ -1,53 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <machine/asm.h>
|
||||
|
||||
#if defined(LIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* LIBC_SCCS */
|
||||
|
||||
LEAF(strlen)
|
||||
.set reorder
|
||||
addu v1, a0, 1
|
||||
1:
|
||||
lb v0, 0(a0) # get byte from string
|
||||
addu a0, a0, 1 # increment pointer
|
||||
bne v0, zero, 1b # continue if not end
|
||||
subu v0, a0, v1 # compute length - 1 for '\0' char
|
||||
j ra
|
||||
END(strlen)
|
@ -1,63 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
/*
|
||||
* pid = vfork();
|
||||
*
|
||||
* v1 == 0 in parent process, v1 == 1 in child process.
|
||||
* v0 == pid of child in parent, v0 == pid of parent in child.
|
||||
*/
|
||||
|
||||
LEAF(vfork)
|
||||
.set reorder
|
||||
li v0, SYS_vfork # system call number for vfork
|
||||
syscall
|
||||
beq a3, zero, 1f # jump if no errors
|
||||
la t9, cerror
|
||||
jr t9
|
||||
1:
|
||||
beq v1, zero, 2f # parent process ?
|
||||
move v0, zero # return zero in child
|
||||
2:
|
||||
j ra
|
||||
END(vfork)
|
@ -1,81 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
.globl minbrk
|
||||
.globl curbrk
|
||||
|
||||
.data
|
||||
minbrk: .word _C_LABEL(end)
|
||||
.text
|
||||
|
||||
LEAF(brk)
|
||||
.set reorder
|
||||
lw v0, minbrk
|
||||
bltu a0, v0, 1f
|
||||
la t9, _brk
|
||||
jr t9
|
||||
1:
|
||||
move a0, v0 # dont allow break < minbrk
|
||||
li v0, SYS_break
|
||||
syscall
|
||||
bne a3, zero, 2f
|
||||
sw a0, curbrk
|
||||
move v0, zero
|
||||
j ra
|
||||
2:
|
||||
la t9, _C_LABEL(cerror)
|
||||
jr t9
|
||||
END(brk)
|
||||
|
||||
LEAF(_brk)
|
||||
.set reorder
|
||||
li v0, SYS_break
|
||||
syscall
|
||||
bne a3, zero, 1f
|
||||
sw a0, curbrk
|
||||
move v0, zero
|
||||
j ra
|
||||
1:
|
||||
la t9, _C_LABEL(cerror)
|
||||
jr t9
|
||||
END(brk)
|
@ -1,51 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
.globl _C_LABEL(errno)
|
||||
LEAF(cerror)
|
||||
.set noreorder
|
||||
sw v0, _C_LABEL(errno)
|
||||
li v0, -1
|
||||
j ra
|
||||
li v1, -1
|
||||
END(cerror)
|
@ -1,53 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
LEAF(exect)
|
||||
.set reorder
|
||||
li v0, SYS_execve
|
||||
syscall
|
||||
bne a3, zero, 1f
|
||||
j ra
|
||||
1:
|
||||
la t9, _C_LABEL(cerror)
|
||||
jr t9
|
||||
END(exect)
|
@ -1,56 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
LEAF(fork)
|
||||
.set reorder
|
||||
li v0, SYS_fork # pid = fork()
|
||||
syscall
|
||||
bne a3, zero, 2f
|
||||
beq v1, zero, 1f # v1 == 0 in parent, 1 in child
|
||||
move v0, zero
|
||||
1:
|
||||
j ra
|
||||
2:
|
||||
la t9, _C_LABEL(cerror)
|
||||
jr t9
|
||||
END(fork)
|
@ -1,56 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
LEAF(pipe)
|
||||
.set reorder
|
||||
li v0, SYS_pipe # pipe(fildes) int fildes[2];
|
||||
syscall
|
||||
bne a3, zero, 1f
|
||||
sw v0, 0(a0) # store the two file descriptors
|
||||
sw v1, 4(a0)
|
||||
move v0, zero
|
||||
j ra
|
||||
1:
|
||||
la t9, _C_LABEL(cerror)
|
||||
jr t9
|
||||
END(pipe)
|
@ -1,54 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
LEAF(ptrace)
|
||||
.set reorder
|
||||
sw zero, _C_LABEL(errno)
|
||||
li v0, SYS_ptrace
|
||||
syscall
|
||||
bne a3, zero, 1f
|
||||
j ra
|
||||
1:
|
||||
la t9, _C_LABEL(cerror)
|
||||
jr t9
|
||||
END(ptrace)
|
@ -1,64 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
.globl curbrk
|
||||
|
||||
.data
|
||||
curbrk: .word _C_LABEL(end)
|
||||
.text
|
||||
|
||||
LEAF(sbrk)
|
||||
.set reorder
|
||||
lw v1, curbrk
|
||||
li v0, SYS_break
|
||||
addu a0, a0, v1 # compute current break
|
||||
syscall
|
||||
|
||||
bne a3, zero, 1f
|
||||
move v0, v1 # return old val of curbrk from above
|
||||
sw a0, curbrk # save current val of curbrk from above
|
||||
j ra
|
||||
1:
|
||||
la t9, _C_LABEL(cerror)
|
||||
jr t9
|
||||
END(sbrk)
|
@ -1,55 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
LEAF(setlogin)
|
||||
.set reorder
|
||||
li v0, SYS_setlogin # setlogin(name)
|
||||
syscall
|
||||
|
||||
bne a3, zero, 1f
|
||||
sw zero, _C_LABEL(__logname_valid) # in getlogin()
|
||||
j ra
|
||||
1:
|
||||
la t9, _C_LABEL(cerror)
|
||||
jr t9
|
||||
END(setlogin)
|
@ -1,55 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
LEAF(sigpending)
|
||||
.set reorder
|
||||
li v0, SYS_sigpending # setlogin(name)
|
||||
syscall
|
||||
bne a3, zero, 1f
|
||||
sw v0, 0(a0)
|
||||
move v0, zero
|
||||
j ra
|
||||
1:
|
||||
la t9, _C_LABEL(cerror)
|
||||
jr t9
|
||||
END(sigpending)
|
@ -1,63 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
LEAF(sigprocmask) # sigprocmask(how, new, old) sigset_t *new, *old;
|
||||
.set reorder
|
||||
bne a1, zero, gotptr # if new sigset pointer not null
|
||||
li a0, 1 # how = SIG_BLOCK
|
||||
b doit # mask = zero
|
||||
gotptr:
|
||||
lw a1, 0(a1) # indirect to new mask arg
|
||||
doit:
|
||||
li v0, SYS_sigprocmask
|
||||
syscall
|
||||
bne a3, zero, err
|
||||
beq a2, zero, out # test if old mask requested
|
||||
sw v0, 0(a2) # store old mask
|
||||
out:
|
||||
move v0, zero
|
||||
j ra
|
||||
err:
|
||||
la t9, _C_LABEL(cerror)
|
||||
jr t9
|
||||
END(sigprocmask)
|
@ -1,48 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
/*
|
||||
* We must preserve the state of the registers as the user has set them up.
|
||||
*/
|
||||
|
||||
RSYSCALL(sigreturn)
|
@ -1,55 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
LEAF(sigsuspend)
|
||||
.set reorder
|
||||
lw a0, 0(a0) # indirect to mask arg
|
||||
li v0, SYS_sigsuspend
|
||||
syscall
|
||||
bne a3, zero, 1f
|
||||
move v0, zero # should not happen
|
||||
j ra
|
||||
1:
|
||||
la t9, _C_LABEL(cerror)
|
||||
jr t9
|
||||
END(sigsuspend)
|
@ -1,47 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "SYS.h"
|
||||
|
||||
#if defined(SYSLIBC_SCCS)
|
||||
.text
|
||||
.asciz "$OpenBSD$"
|
||||
#endif /* SYSLIBC_SCCS */
|
||||
|
||||
#define SYS_syscall 0
|
||||
|
||||
|
||||
RSYSCALL(syscall)
|
@ -1 +0,0 @@
|
||||
.include "${.CURDIR}/../libc/mips/Makefile.inc"
|
@ -1,81 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $OpenBSD: SYS.h,v 1.3 1996/07/30 20:27:48 pefo Exp $
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include <sys/syscall.h>
|
||||
#include <machine/asm.h>
|
||||
|
||||
#ifdef __STDC__
|
||||
#define RSYSCALL(x) \
|
||||
LEAF(x); \
|
||||
li v0,SYS_ ## x; \
|
||||
syscall; \
|
||||
bne a3,zero,err; \
|
||||
j ra; \
|
||||
err: la t9, cerror; \
|
||||
jr t9; \
|
||||
END(x);
|
||||
#define PSEUDO(x,y) \
|
||||
LEAF(x); \
|
||||
li v0,SYS_ ## y; \
|
||||
syscall; \
|
||||
bne a3,zero,err; \
|
||||
j ra; \
|
||||
err: la t9, cerror; \
|
||||
jr t9; \
|
||||
END(x);
|
||||
#else
|
||||
#define RSYSCALL(x) \
|
||||
LEAF(x); \
|
||||
li v0,SYS_/**/x; \
|
||||
syscall; \
|
||||
bne a3,zero,err; \
|
||||
j ra; \
|
||||
err: la t9, cerror; \
|
||||
jr t9; \
|
||||
END(x);
|
||||
#define PSEUDO(x,y) \
|
||||
LEAF(x); \
|
||||
li v0,SYS_/**/y; \
|
||||
syscall; \
|
||||
bne a3,zero,err; \
|
||||
j ra; \
|
||||
err: la t9, cerror; \
|
||||
jr t9; \
|
||||
END(x);
|
||||
#endif
|
@ -1 +0,0 @@
|
||||
.include "${.CURDIR}/../libc/mips/gen/Makefile.inc"
|
@ -1 +0,0 @@
|
||||
.include "${.CURDIR}/../libc/mips/net/Makefile.inc"
|
@ -1 +0,0 @@
|
||||
.include "${.CURDIR}/../libc/mips/stdlib/Makefile.inc"
|
@ -1 +0,0 @@
|
||||
.include "${.CURDIR}/../libc/mips/string/Makefile.inc"
|
@ -1 +0,0 @@
|
||||
.include "${.CURDIR}/../libc/mips/sys/Makefile.inc"
|
@ -1 +0,0 @@
|
||||
.include "${.CURDIR}/../libc/mips/Makefile.inc"
|
@ -1,80 +0,0 @@
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ralph Campbell.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $OpenBSD: SYS.h,v 1.3 1996/07/30 20:27:48 pefo Exp $
|
||||
*/
|
||||
|
||||
#include <sys/syscall.h>
|
||||
#include <machine/asm.h>
|
||||
|
||||
#ifdef __STDC__
|
||||
#define RSYSCALL(x) \
|
||||
LEAF(x); \
|
||||
li v0,SYS_ ## x; \
|
||||
syscall; \
|
||||
bne a3,zero,err; \
|
||||
j ra; \
|
||||
err: la t9, cerror; \
|
||||
jr t9; \
|
||||
END(x);
|
||||
#define PSEUDO(x,y) \
|
||||
LEAF(x); \
|
||||
li v0,SYS_ ## y; \
|
||||
syscall; \
|
||||
bne a3,zero,err; \
|
||||
j ra; \
|
||||
err: la t9, cerror; \
|
||||
jr t9; \
|
||||
END(x);
|
||||
#else
|
||||
#define RSYSCALL(x) \
|
||||
LEAF(x); \
|
||||
li v0,SYS_/**/x; \
|
||||
syscall; \
|
||||
bne a3,zero,err; \
|
||||
j ra; \
|
||||
err: la t9, cerror; \
|
||||
jr t9; \
|
||||
END(x);
|
||||
#define PSEUDO(x,y) \
|
||||
LEAF(x); \
|
||||
li v0,SYS_/**/y; \
|
||||
syscall; \
|
||||
bne a3,zero,err; \
|
||||
j ra; \
|
||||
err: la t9, cerror; \
|
||||
jr t9; \
|
||||
END(x);
|
||||
#endif
|
@ -1 +0,0 @@
|
||||
.include "${.CURDIR}/../libc/mips/gen/Makefile.inc"
|
@ -1 +0,0 @@
|
||||
.include "${.CURDIR}/../libc/mips/net/Makefile.inc"
|
@ -1 +0,0 @@
|
||||
.include "${.CURDIR}/../libc/mips/stdlib/Makefile.inc"
|
@ -1 +0,0 @@
|
||||
.include "${.CURDIR}/../libc/mips/string/Makefile.inc"
|
@ -1 +0,0 @@
|
||||
.include "${.CURDIR}/../libc/mips/sys/Makefile.inc"
|
Loading…
Reference in New Issue
Block a user