arm32 libc support
authorderaadt <deraadt@openbsd.org>
Wed, 1 May 1996 12:51:12 +0000 (12:51 +0000)
committerderaadt <deraadt@openbsd.org>
Wed, 1 May 1996 12:51:12 +0000 (12:51 +0000)
29 files changed:
lib/libc/arch/arm32/DEFS.h [new file with mode: 0644]
lib/libc/arch/arm32/Makefile.inc [new file with mode: 0644]
lib/libc/arch/arm32/SYS.h [new file with mode: 0644]
lib/libc/arch/arm32/gen/Makefile.inc [new file with mode: 0644]
lib/libc/arch/arm32/gen/_setjmp.S [new file with mode: 0644]
lib/libc/arch/arm32/gen/alloca.S [new file with mode: 0644]
lib/libc/arch/arm32/gen/div.S [new file with mode: 0644]
lib/libc/arch/arm32/gen/infinity.c [new file with mode: 0644]
lib/libc/arch/arm32/gen/isinf.c [new file with mode: 0644]
lib/libc/arch/arm32/gen/s_fabs.c [new file with mode: 0644]
lib/libc/arch/arm32/gen/setjmp.S [new file with mode: 0644]
lib/libc/arch/arm32/gen/sigsetjmp.S [new file with mode: 0644]
lib/libc/arch/arm32/net/Makefile.inc [new file with mode: 0644]
lib/libc/arch/arm32/string/Makefile.inc [new file with mode: 0644]
lib/libc/arch/arm32/sys/Ovfork.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/brk.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/cerror.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/exect.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/fork.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/pipe.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/ptrace.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/reboot.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/sbrk.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/setlogin.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/sigpending.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/sigprocmask.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/sigreturn.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/sigsuspend.S [new file with mode: 0644]
lib/libc/arch/arm32/sys/syscall.S [new file with mode: 0644]

diff --git a/lib/libc/arch/arm32/DEFS.h b/lib/libc/arch/arm32/DEFS.h
new file mode 100644 (file)
index 0000000..f5df7e7
--- /dev/null
@@ -0,0 +1,3 @@
+/* $NetBSD: DEFS.h,v 1.1 1996/02/16 20:47:54 mark Exp $ */
+
+#include <machine/asm.h>
diff --git a/lib/libc/arch/arm32/Makefile.inc b/lib/libc/arch/arm32/Makefile.inc
new file mode 100644 (file)
index 0000000..9023268
--- /dev/null
@@ -0,0 +1,4 @@
+# $NetBSD: Makefile.inc,v 1.2 1996/04/26 20:15:14 mark Exp $
+
+KMINCLUDES= arch/arm32/SYS.h arch/arm32DEFS.h
+KMSRCS=        bcmp.c bzero.c ffs.c strcat.c strcmp.c strcpy.c strlen.c
diff --git a/lib/libc/arch/arm32/SYS.h b/lib/libc/arch/arm32/SYS.h
new file mode 100644 (file)
index 0000000..79abecc
--- /dev/null
@@ -0,0 +1,57 @@
+/* $NetBSD: SYS.h,v 1.1 1996/02/16 20:48:02 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)SYS.h 5.5 (Berkeley) 5/7/91
+ *     $Id: SYS.h,v 1.1 1996/05/01 12:51:14 deraadt Exp $
+ */
+
+#include <machine/asm.h>
+#include <sys/syscall.h>
+
+#define SYSCALL(x)     .text; .align 0; ENTRY(x) ; swi SYS_ ## x; bcs cerror;
+#define RSYSCALL(x)    SYSCALL(x) ; mov r15, r14
+#define PSEUDO(x, y)   .text; .align 0; ENTRY(x); swi SYS_ ## y; mov r15, r14
+
+#if 0
+#define        SYSCALL(x)      .text; .align 2; 2: jmp PIC_PLT(cerror); ENTRY(x); movl $(SYS_/**/x),%eax; int $0x80; jc 2b
+#define        RSYSCALL(x)     SYSCALL(x); ret
+#define        PSEUDO(x,y)     ENTRY(x); movl $(SYS_/**/y),%eax; int $0x80; ret
+#define        CALL(x,y)       call PIC_PLT(_/**/y); addl $4*x,%esp
+
+#endif
+
+       .globl  cerror
diff --git a/lib/libc/arch/arm32/gen/Makefile.inc b/lib/libc/arch/arm32/gen/Makefile.inc
new file mode 100644 (file)
index 0000000..985f6c2
--- /dev/null
@@ -0,0 +1,4 @@
+# $NetBSD: Makefile.inc,v 1.1 1996/02/16 20:48:10 mark Exp $
+
+SRCS+= _setjmp.S alloca.S infinity.c isinf.c \
+       setjmp.S s_fabs.c sigsetjmp.S
diff --git a/lib/libc/arch/arm32/gen/_setjmp.S b/lib/libc/arch/arm32/gen/_setjmp.S
new file mode 100644 (file)
index 0000000..1ec40fb
--- /dev/null
@@ -0,0 +1,86 @@
+/* $NetBSD: _setjmp.S,v 1.1 1996/02/16 20:48:12 mark Exp $ */
+
+/*
+ * Copyright (c) 1995 Mark Brinicombe
+ * 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 Mark Brinicombe
+ * 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 AUTHOR 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 AUTHOR 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.
+ *
+ *     $Id: _setjmp.S,v 1.1 1996/05/01 12:51:16 deraadt Exp $
+ */
+
+# include "DEFS.h"
+
+       .text
+       .align  0
+
+ENTRY(_setjmp)
+/*        LDR     a4,[pc,#|__fpflag_ptr|-.-8]
+        LDR     a4,[a4,#0]
+        CMP     a4,#0
+        ADDEQ   a1,a1,#48
+        BEQ     |__setjmp_l1|
+        STFE    f4,[a1],#12
+        STFE    f5,[a1],#12
+        STFE    f6,[a1],#12
+        STFE    f7,[a1],#12
+|__setjmp_l1|*/
+       add     r0, r0, #48
+        stmia  r0, {r1-r12, r13, r14}
+        mov    r0, #0x00000000
+        mov    r15, r14
+
+ENTRY(_longjmp)
+       ldr     r2, L_longjmpret
+       str     r1, [r2]
+/*        LDR     a4,[pc,#|__fpflag_ptr|-.-8]
+        LDR     a4,[a4,#0]
+        CMP     a4,#0
+        ADDEQ   a1,a1,#48
+        BEQ     |__longjmp_l1|
+        LDFE    f4,[a1],#12
+        LDFE    f5,[a1],#12
+        LDFE    f6,[a1],#12
+        LDFE    f7,[a1],#12
+|__longjmp_l1|*/
+       add     r0, r0, #48
+        ldmia  r0, {r1-r12, r13, r14}
+       ldr     r0, L_longjmpret
+       ldr     r0, [r0]
+       teq     r0, #0x00000000
+       moveq   r0, #0x00000001
+       mov     r15, r14
+
+L_longjmpret:
+       .word   _longjmpret
+
+       .data
+       .align  0
+
+_longjmpret:
+       .word   0x00000000
diff --git a/lib/libc/arch/arm32/gen/alloca.S b/lib/libc/arch/arm32/gen/alloca.S
new file mode 100644 (file)
index 0000000..daeb97b
--- /dev/null
@@ -0,0 +1,49 @@
+/* $NetBSD: alloca.S,v 1.1 1996/02/16 20:48:15 mark Exp $ */
+
+/*
+ * Copyright (c) 1995 Mark Brinicombe
+ * 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 Mark Brinicombe
+ * 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 AUTHOR 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 AUTHOR 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.
+ *
+ *     $Id: alloca.S,v 1.1 1996/05/01 12:51:17 deraadt Exp $
+ */
+
+/* like alloc, but automatic automatic free in return */
+
+# include "DEFS.h"
+
+       .text
+       .align  0
+
+ENTRY(alloca)
+       add     r0, r0, #0x00000003     /* round up to next word */
+       bic     r0, r0, #0x00000003
+       sub     r13, r13, r0            /* Adjust the stack pointer */
+       mov     r0, r13                 /* r0 = base of new space */
+       mov     r15, r14                /* return */ 
diff --git a/lib/libc/arch/arm32/gen/div.S b/lib/libc/arch/arm32/gen/div.S
new file mode 100644 (file)
index 0000000..720646e
--- /dev/null
@@ -0,0 +1,355 @@
+/* $NetBSD: div.S,v 1.1 1996/02/16 20:48:16 mark Exp $ */
+
+/*
+ * 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 RiscBSD kernel team
+ * 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 AUTHOR 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 AUTHOR 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.
+ *
+ *     $Id: div.S,v 1.1 1996/05/01 12:51:17 deraadt Exp $
+ */
+
+a1     .req    r0
+a2     .req    r1
+a3     .req    r2
+a4     .req    r3
+v1     .req    r4
+v2     .req    r5
+v3     .req    r6
+v4     .req    r7
+v5     .req    r8
+v6     .req    r9
+v7     .req    r10
+fp     .req    r11
+ip     .req    r12
+sp     .req    r13
+lr     .req    r14
+pc     .req    r15
+
+.text
+
+       .global __rt_sdiv
+__rt_sdiv:
+       B       x_divide
+
+       .global __rt_udiv
+__rt_udiv:
+       B       x_udivide
+
+       .global ___umodsi3
+___umodsi3:
+       MOV     a3, a1
+       MOV     a1, a2
+       MOV     a2, a3
+       B       x_uremainder
+
+       .global ___udivsi3
+___udivsi3:
+       MOV     a3, a1
+       MOV     a1, a2
+       MOV     a2, a3
+       B       x_udivide
+
+       .global ___modsi3
+___modsi3:
+       MOV     a3, a1
+       MOV     a1, a2
+       MOV     a2, a3
+       B       x_remainder
+
+       .global ___divsi3
+___divsi3:
+       MOV     a3, a1
+       MOV     a1, a2
+       MOV     a2, a3
+       B       x_divide
+
+       .global x_divtest
+x_divtest:
+       MOV     pc,lr
+
+       .global x_remainder
+x_remainder:
+       STMFD   sp!,{lr}
+       BL      x_divide
+       MOV     a1,a2
+       LDMFD   sp!,{pc}
+
+       .global x_uremainder
+x_uremainder:
+       STMFD   sp!,{lr}
+       BL      x_udivide
+       MOV     a1,a2
+       LDMFD   sp!,{pc}
+
+x_overflow:
+       MVN     a1,#0
+       MOV     pc,lr
+
+       .global x_udivide               /* a1 = a2 / a1; a2 = a2 % a1 */
+x_udivide:
+       CMP     a1,#1
+       BCC     x_overflow
+       BEQ     x_divide_l0
+       MOV     ip,#0
+       MOVS    a2,a2
+       BPL     x_divide_l1
+       ORR     ip,ip,#0x20000000       /* ip bit 0x20000000 = -ve a2 */
+       MOVS    a2,a2,lsr #1
+       ORRCS   ip,ip,#0x10000000       /* ip bit 0x10000000 = bit 0 of a2 */
+       B       x_divide_l1
+
+x_divide_l0:                           /* a1 == 1 */
+       MOV     a1,a2
+       MOV     a2,#0
+       MOV     pc,lr
+
+       .global x_divide                /* a1 = a2 / a1; a2 = a2 % a1 */
+x_divide:
+       CMP     a1,#1
+       BCC     x_overflow
+       BEQ     x_divide_l0
+       ANDS    ip,a1,#0x80000000
+       RSBMI   a1,a1,#0
+       ANDS    a3,a2,#0x80000000
+       EOR     ip,ip,a3
+       RSBMI   a2,a2,#0
+       ORR     ip,a3,ip,lsr #1 /* ip bit 0x40000000 = -ve division */
+                               /* ip bit 0x80000000 = -ve remainder */
+
+x_divide_l1:
+       MOV     a3,#1
+       MOV     a4,#0
+
+       CMP     a2,a1
+       BCC     x_divide_b0
+       CMP     a2,a1,lsl #1
+       BCC     x_divide_b1
+       CMP     a2,a1,lsl #2
+       BCC     x_divide_b2
+       CMP     a2,a1,lsl #3
+       BCC     x_divide_b3
+       CMP     a2,a1,lsl #4
+       BCC     x_divide_b4
+       CMP     a2,a1,lsl #5
+       BCC     x_divide_b5
+       CMP     a2,a1,lsl #6
+       BCC     x_divide_b6
+       CMP     a2,a1,lsl #7
+       BCC     x_divide_b7
+       CMP     a2,a1,lsl #8
+       BCC     x_divide_b8
+       CMP     a2,a1,lsl #9
+       BCC     x_divide_b9
+       CMP     a2,a1,lsl #10
+       BCC     x_divide_b10
+       CMP     a2,a1,lsl #11
+       BCC     x_divide_b11
+       CMP     a2,a1,lsl #12
+       BCC     x_divide_b12
+       CMP     a2,a1,lsl #13
+       BCC     x_divide_b13
+       CMP     a2,a1,lsl #14
+       BCC     x_divide_b14
+       CMP     a2,a1,lsl #15
+       BCC     x_divide_b15
+       CMP     a2,a1,lsl #16
+       BCC     x_divide_b16
+       CMP     a2,a1,lsl #17
+       BCC     x_divide_b17
+       CMP     a2,a1,lsl #18
+       BCC     x_divide_b18
+       CMP     a2,a1,lsl #19
+       BCC     x_divide_b19
+       CMP     a2,a1,lsl #20
+       BCC     x_divide_b20
+       CMP     a2,a1,lsl #21
+       BCC     x_divide_b21
+       CMP     a2,a1,lsl #22
+       BCC     x_divide_b22
+       CMP     a2,a1,lsl #23
+       BCC     x_divide_b23
+       CMP     a2,a1,lsl #24
+       BCC     x_divide_b24
+       CMP     a2,a1,lsl #25
+       BCC     x_divide_b25
+       CMP     a2,a1,lsl #26
+       BCC     x_divide_b26
+       CMP     a2,a1,lsl #27
+       BCC     x_divide_b27
+       CMP     a2,a1,lsl #28
+       BCC     x_divide_b28
+       CMP     a2,a1,lsl #29
+       BCC     x_divide_b29
+       CMP     a2,a1,lsl #30
+       BCC     x_divide_b30
+       CMP     a2,a1,lsl #31
+       SUBHS   a2,a2,a1,lsl #31
+       ADDHS   a4,a4,a3,lsl #31
+       CMP     a2,a1,lsl #30
+       SUBHS   a2,a2,a1,lsl #30
+       ADDHS   a4,a4,a3,lsl #30
+x_divide_b30:
+       CMP     a2,a1,lsl #29
+       SUBHS   a2,a2,a1,lsl #29
+       ADDHS   a4,a4,a3,lsl #29
+x_divide_b29:
+       CMP     a2,a1,lsl #28
+       SUBHS   a2,a2,a1,lsl #28
+       ADDHS   a4,a4,a3,lsl #28
+x_divide_b28:
+       CMP     a2,a1,lsl #27
+       SUBHSS  a2,a2,a1,lsl #27
+       ADDHS   a4,a4,a3,lsl #27
+x_divide_b27:
+       CMP     a2,a1,lsl #26
+       SUBHS   a2,a2,a1,lsl #26
+       ADDHS   a4,a4,a3,lsl #26
+x_divide_b26:
+       CMP     a2,a1,lsl #25
+       SUBHS   a2,a2,a1,lsl #25
+       ADDHS   a4,a4,a3,lsl #25
+x_divide_b25:
+       CMP     a2,a1,lsl #24
+       SUBHS   a2,a2,a1,lsl #24
+       ADDHS   a4,a4,a3,lsl #24
+x_divide_b24:
+       CMP     a2,a1,lsl #23
+       SUBHS   a2,a2,a1,lsl #23
+       ADDHS   a4,a4,a3,lsl #23
+x_divide_b23:
+       CMP     a2,a1,lsl #22
+       SUBHS   a2,a2,a1,lsl #22
+       ADDHS   a4,a4,a3,lsl #22
+x_divide_b22:
+       CMP     a2,a1,lsl #21
+       SUBHS   a2,a2,a1,lsl #21
+       ADDHS   a4,a4,a3,lsl #21
+x_divide_b21:
+       CMP     a2,a1,lsl #20
+       SUBHS   a2,a2,a1,lsl #20
+       ADDHS   a4,a4,a3,lsl #20
+x_divide_b20:
+       CMP     a2,a1,lsl #19
+       SUBHS   a2,a2,a1,lsl #19
+       ADDHS   a4,a4,a3,lsl #19
+x_divide_b19:
+       CMP     a2,a1,lsl #18
+       SUBHS   a2,a2,a1,lsl #18
+       ADDHS   a4,a4,a3,lsl #18
+x_divide_b18:
+       CMP     a2,a1,lsl #17
+       SUBHS   a2,a2,a1,lsl #17
+       ADDHS   a4,a4,a3,lsl #17
+x_divide_b17:
+       CMP     a2,a1,lsl #16
+       SUBHS   a2,a2,a1,lsl #16
+       ADDHS   a4,a4,a3,lsl #16
+x_divide_b16:
+       CMP     a2,a1,lsl #15
+       SUBHS   a2,a2,a1,lsl #15
+       ADDHS   a4,a4,a3,lsl #15
+x_divide_b15:
+       CMP     a2,a1,lsl #14
+       SUBHS   a2,a2,a1,lsl #14
+       ADDHS   a4,a4,a3,lsl #14
+x_divide_b14:
+       CMP     a2,a1,lsl #13
+       SUBHS   a2,a2,a1,lsl #13
+       ADDHS   a4,a4,a3,lsl #13
+x_divide_b13:
+       CMP     a2,a1,lsl #12
+       SUBHS   a2,a2,a1,lsl #12
+       ADDHS   a4,a4,a3,lsl #12
+x_divide_b12:
+       CMP     a2,a1,lsl #11
+       SUBHS   a2,a2,a1,lsl #11
+       ADDHS   a4,a4,a3,lsl #11
+x_divide_b11:
+       CMP     a2,a1,lsl #10
+       SUBHS   a2,a2,a1,lsl #10
+       ADDHS   a4,a4,a3,lsl #10
+x_divide_b10:
+       CMP     a2,a1,lsl #9
+       SUBHS   a2,a2,a1,lsl #9
+       ADDHS   a4,a4,a3,lsl #9
+x_divide_b9:
+       CMP     a2,a1,lsl #8
+       SUBHS   a2,a2,a1,lsl #8
+       ADDHS   a4,a4,a3,lsl #8
+x_divide_b8:
+       CMP     a2,a1,lsl #7
+       SUBHS   a2,a2,a1,lsl #7
+       ADDHS   a4,a4,a3,lsl #7
+x_divide_b7:
+       CMP     a2,a1,lsl #6
+       SUBHS   a2,a2,a1,lsl #6
+       ADDHS   a4,a4,a3,lsl #6
+x_divide_b6:
+       CMP     a2,a1,lsl #5
+       SUBHS   a2,a2,a1,lsl #5
+       ADDHS   a4,a4,a3,lsl #5
+x_divide_b5:
+       CMP     a2,a1,lsl #4
+       SUBHS   a2,a2,a1,lsl #4
+       ADDHS   a4,a4,a3,lsl #4
+x_divide_b4:
+       CMP     a2,a1,lsl #3
+       SUBHS   a2,a2,a1,lsl #3
+       ADDHS   a4,a4,a3,lsl #3
+x_divide_b3:
+       CMP     a2,a1,lsl #2
+       SUBHS   a2,a2,a1,lsl #2
+       ADDHS   a4,a4,a3,lsl #2
+x_divide_b2:
+       CMP     a2,a1,lsl #1
+       SUBHS   a2,a2,a1,lsl #1
+       ADDHS   a4,a4,a3,lsl #1
+x_divide_b1:
+       CMP     a2,a1
+       SUBHS   a2,a2,a1
+       ADDHS   a4,a4,a3
+x_divide_b0:
+
+       TST     ip,#0x20000000
+       BNE     x_udivide_l1
+       MOV     a1,a4
+       CMP     ip,#0
+       RSBMI   a2,a2,#0
+       MOVS    ip,ip,lsl #1
+       RSBMI   a1,a1,#0
+       MOV     pc,lr
+
+x_udivide_l1:
+       TST     ip,#0x10000000
+       MOV     a2,a2,lsl #1
+       ORRNE   a2,a2,#1
+       MOV     a4,a4,lsl #1
+       CMP     a2,a1
+       SUBHS   a2,a2,a1
+       ADDHS   a4,a4,a3
+       MOV     a1,a4
+       MOV     pc,lr
+
diff --git a/lib/libc/arch/arm32/gen/infinity.c b/lib/libc/arch/arm32/gen/infinity.c
new file mode 100644 (file)
index 0000000..4603d50
--- /dev/null
@@ -0,0 +1,9 @@
+/* $NetBSD: infinity.c,v 1.1 1996/02/16 20:48:18 mark Exp $ */
+
+/*
+ *     $Id: infinity.c,v 1.1 1996/05/01 12:51:18 deraadt Exp $
+ */
+
+#include <math.h>
+
+char __infinity[] = { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f };
diff --git a/lib/libc/arch/arm32/gen/isinf.c b/lib/libc/arch/arm32/gen/isinf.c
new file mode 100644 (file)
index 0000000..e55495f
--- /dev/null
@@ -0,0 +1,64 @@
+/* $NetBSD: isinf.c,v 1.1 1996/02/16 20:48:20 mark Exp $ */
+
+/*-
+ * Copyright (c) 1991 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.
+ *
+ *  $Id: isinf.c,v 1.1 1996/05/01 12:51:19 deraadt Exp $
+ */
+
+#include <sys/types.h>
+
+isnan(d)
+       double d;
+{
+       register struct IEEEdp {
+               u_int manh : 20;
+               u_int  exp : 11;
+               u_int sign :  1;
+               u_int manl;
+       } *p = (struct IEEEdp *)&d;
+
+       return(p->exp == 2047 && (p->manh || p->manl));
+}
+
+isinf(d)
+       double d;
+{
+       register struct IEEEdp {
+               u_int manh : 20;
+               u_int  exp : 11;
+               u_int sign :  1;
+               u_int manl;
+       } *p = (struct IEEEdp *)&d;
+
+       return(p->exp == 2047 && !p->manh && !p->manl);
+}
diff --git a/lib/libc/arch/arm32/gen/s_fabs.c b/lib/libc/arch/arm32/gen/s_fabs.c
new file mode 100644 (file)
index 0000000..0daa38e
--- /dev/null
@@ -0,0 +1,48 @@
+/* $NetBSD: s_fabs.c,v 1.1 1996/02/16 20:48:21 mark Exp $ */
+
+/*
+ * 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 Mark Brinicombe
+ * 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 AUTHOR 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 AUTHOR 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.
+ *
+ *     $Id: s_fabs.c,v 1.1 1996/05/01 12:51:19 deraadt Exp $
+ */
+
+/*
+ * fabs(x) returns the absolute value of x.
+ */
+
+#ifdef __STDC__
+       double fabs(double x)
+#else
+       double fabs(x)
+       double x;
+#endif
+{
+       if (x < 0)
+         x = -x;
+       return(x);
+}
diff --git a/lib/libc/arch/arm32/gen/setjmp.S b/lib/libc/arch/arm32/gen/setjmp.S
new file mode 100644 (file)
index 0000000..2fa42dc
--- /dev/null
@@ -0,0 +1,91 @@
+/* $NetBSD: setjmp.S,v 1.1 1996/02/16 20:48:23 mark Exp $ */
+
+/*
+ * Copyright (c) 1995 Mark Brinicombe
+ * 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 Mark Brinicombe
+ * 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 AUTHOR 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 AUTHOR 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.
+ *
+ *     $Id: setjmp.S,v 1.1 1996/05/01 12:51:20 deraadt Exp $
+ */
+
+# include "DEFS.h"
+
+       .text
+       .align  0
+
+ENTRY(setjmp)
+       stmfd   r13!, {r0, r14}
+       mov     r0, #0x00000000
+
+       bl      _sigblock
+       mov     r1, r0
+
+       ldmfd   r13!, {r0, r14}
+
+       str     r1, [r0], #0x0004
+/*        LDR     a4,[pc,#|__fpflag_ptr|-.-8]
+        LDR     a4,[a4,#0]
+        CMP     a4,#0
+        ADDEQ   a1,a1,#48
+        BEQ     |__setjmp_l1|
+        STFE    f4,[a1],#12
+        STFE    f5,[a1],#12
+        STFE    f6,[a1],#12
+        STFE    f7,[a1],#12
+|__setjmp_l1|*/
+       add     r0, r0, #48
+        stmia  r0, {r4-r9, r11, r13, r14}
+        mov    r0, #0x00000000
+        mov    r15, r14
+
+ENTRY(longjmp)
+       ldr     r2, [r0], #0x0004
+       stmfd   r13!, {r0, r1, r14}
+
+       mov     r0, r2
+       bl      _sigsetmask
+
+       ldmfd   r13!, {r0, r1, r14} 
+/*        LDR     a4,[pc,#|__fpflag_ptr|-.-8]
+        LDR     a4,[a4,#0]
+        CMP     a4,#0
+        ADDEQ   a1,a1,#48
+        BEQ     |__longjmp_l1|
+        LDFE    f4,[a1],#12
+        LDFE    f5,[a1],#12
+        LDFE    f6,[a1],#12
+        LDFE    f7,[a1],#12
+|__longjmp_l1|*/
+       add     r2, r0, #48
+        ldmia  r2, {r4-r9, r11, r13, r14}
+       mov     r0, r1
+       teq     r0, #0x00000000
+       moveq   r0, #0x00000001
+       mov     r15, r14
diff --git a/lib/libc/arch/arm32/gen/sigsetjmp.S b/lib/libc/arch/arm32/gen/sigsetjmp.S
new file mode 100644 (file)
index 0000000..838f69a
--- /dev/null
@@ -0,0 +1,86 @@
+/* $NetBSD: sigsetjmp.S,v 1.1 1996/02/16 20:48:25 mark Exp $ */
+
+/*
+ * Copyright (c) 1995 Mark Brinicombe
+ * 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 Mark Brinicombe
+ * 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 AUTHOR 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 AUTHOR 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.
+ *
+ *     $Id: sigsetjmp.S,v 1.1 1996/05/01 12:51:21 deraadt Exp $
+ */
+
+# include "DEFS.h"
+
+       .text
+       .align  0
+
+ENTRY(sigsetjmp)
+/*        LDR     a4,[pc,#|__fpflag_ptr|-.-8]
+        LDR     a4,[a4,#0]
+        CMP     a4,#0
+        ADDEQ   a1,a1,#48
+        BEQ     |__sigsetjmp_l1|
+        STFE    f4,[a1],#12
+        STFE    f5,[a1],#12
+        STFE    f6,[a1],#12
+        STFE    f7,[a1],#12
+|__sigsetjmp_l1|*/
+       add     r0, r0, #48
+        stmia  r0, {r1-r12, r13, r14}
+        mov    r0, #0x00000000
+        mov    r15, r14
+
+ENTRY(siglongjmp)
+       ldr     r2, L_siglongjmpret
+       str     r1, [r2]
+/*        LDR     a4,[pc,#|__fpflag_ptr|-.-8]
+        LDR     a4,[a4,#0]
+        CMP     a4,#0
+        ADDEQ   a1,a1,#48
+        BEQ     |__siglongjmp_l1|
+        LDFE    f4,[a1],#12
+        LDFE    f5,[a1],#12
+        LDFE    f6,[a1],#12
+        LDFE    f7,[a1],#12
+|__siglongjmp_l1|*/
+       add     r0, r0, #48
+        ldmia  r0, {r1-r12, r13, r14}
+       ldr     r0, L_siglongjmpret
+       ldr     r0, [r0]
+       teq     r0, #0x00000000
+       moveq   r0, #0x00000001
+       mov     r15, r14
+
+L_siglongjmpret:
+       .word   _siglongjmpret
+
+       .data
+       .align  0
+
+_siglongjmpret:
+       .word   0x00000000
diff --git a/lib/libc/arch/arm32/net/Makefile.inc b/lib/libc/arch/arm32/net/Makefile.inc
new file mode 100644 (file)
index 0000000..f3172ec
--- /dev/null
@@ -0,0 +1,3 @@
+# $NetBSD: Makefile.inc,v 1.1 1996/02/16 20:48:31 mark Exp $
+
+SRCS+= htonl.c htons.c ntohl.c ntohs.c
diff --git a/lib/libc/arch/arm32/string/Makefile.inc b/lib/libc/arch/arm32/string/Makefile.inc
new file mode 100644 (file)
index 0000000..d723307
--- /dev/null
@@ -0,0 +1,6 @@
+# $NetBSD: Makefile.inc,v 1.1 1996/02/16 20:48:37 mark Exp $
+
+SRCS+= bcmp.c bcopy.c bzero.c ffs.c index.c memchr.c memcmp.c memset.c \
+       rindex.c strcat.c strcmp.c strcpy.c strcspn.c strlen.c \
+       strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
+       strspn.c strstr.c swab.c
diff --git a/lib/libc/arch/arm32/sys/Ovfork.S b/lib/libc/arch/arm32/sys/Ovfork.S
new file mode 100644 (file)
index 0000000..603e308
--- /dev/null
@@ -0,0 +1,56 @@
+/* $NetBSD: Ovfork.S,v 1.1 1996/02/16 20:48:40 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)Ovfork.s      5.1 (Berkeley) 4/23/90
+ *     $Id: Ovfork.S,v 1.1 1996/05/01 12:51:25 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+/*
+ * pid = vfork();
+ */
+       .text
+       .align  0
+
+ENTRY(vfork)
+       mov     r2, r14
+       swi     SYS_vfork
+       bcs     cerror
+       sub     r1, r1, #0x00000001
+       and     r0, r0, r1
+       mov     r15, r2
diff --git a/lib/libc/arch/arm32/sys/brk.S b/lib/libc/arch/arm32/sys/brk.S
new file mode 100644 (file)
index 0000000..7f06268
--- /dev/null
@@ -0,0 +1,69 @@
+/* $NetBSD: brk.S,v 1.1 1996/02/16 20:48:42 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)brk.s 5.2 (Berkeley) 12/17/90
+ *     $Id: brk.S,v 1.1 1996/05/01 12:51:26 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+       .globl  _end
+       .globl  minbrk
+       .globl  curbrk
+
+       .data
+minbrk:        .long   _end
+       .text
+       .align  0
+
+ENTRY(brk)
+       ldr     r1, Lminbrk
+       cmp     r0, r1
+       movlt   r0, r1
+       mov     r2, r0
+       swi     SYS_break
+       bcs     cerror
+       mov     r0, #0x00000000
+       ldr     r1, Lcurbrk
+       str     r2, [r1]
+       mov     r15, r14
+
+Lminbrk:
+       .word   minbrk
+
+Lcurbrk:
+       .word   curbrk
diff --git a/lib/libc/arch/arm32/sys/cerror.S b/lib/libc/arch/arm32/sys/cerror.S
new file mode 100644 (file)
index 0000000..3ea8da0
--- /dev/null
@@ -0,0 +1,55 @@
+/* $NetBSD: cerror.S,v 1.1 1996/02/16 20:48:43 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)cerror.s      5.1 (Berkeley) 4/23/90
+ *     $Id: cerror.S,v 1.1 1996/05/01 12:51:27 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+       .text
+       .align  0
+
+       .globl  _errno
+cerror:
+       ldr     r1, Lerrno
+       str     r0, [r1]
+       mvn     r0, #0x00000000
+       mov     r15, r14
+
+Lerrno:
+       .word   _errno
diff --git a/lib/libc/arch/arm32/sys/exect.S b/lib/libc/arch/arm32/sys/exect.S
new file mode 100644 (file)
index 0000000..524a322
--- /dev/null
@@ -0,0 +1,50 @@
+/* $NetBSD: exect.S,v 1.1 1996/02/16 20:48:46 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)exect.s       5.1 (Berkeley) 4/23/90
+ *     $Id: exect.S,v 1.1 1996/05/01 12:51:28 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+       .text
+       .align  0
+
+ENTRY(exect)
+       swi     SYS_execve
+       bcs     cerror
+       mov     r15, r14
diff --git a/lib/libc/arch/arm32/sys/fork.S b/lib/libc/arch/arm32/sys/fork.S
new file mode 100644 (file)
index 0000000..d96ab0b
--- /dev/null
@@ -0,0 +1,47 @@
+/* $NetBSD: fork.S,v 1.1 1996/02/16 20:48:48 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)fork.s        5.1 (Berkeley) 4/23/90
+ *     $Id: fork.S,v 1.1 1996/05/01 12:51:28 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+SYSCALL(fork)
+       sub     r1, r1, #0x00000001
+       and     r0, r0, r1
+       mov     r15, r14
diff --git a/lib/libc/arch/arm32/sys/pipe.S b/lib/libc/arch/arm32/sys/pipe.S
new file mode 100644 (file)
index 0000000..37ac9c6
--- /dev/null
@@ -0,0 +1,54 @@
+/* $NetBSD: pipe.S,v 1.1 1996/02/16 20:48:51 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)pipe.s        5.1 (Berkeley) 4/23/90
+ *     $Id: pipe.S,v 1.1 1996/05/01 12:51:29 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+       .text
+       .align  0
+
+ENTRY(pipe)
+       mov     r2, r0
+       swi     SYS_pipe
+       bcs     cerror
+       str     r0, [r2, #0x0000]
+       str     r1, [r2, #0x0004]
+       mov     r0, #0x00000000
+       mov     r15, r14
diff --git a/lib/libc/arch/arm32/sys/ptrace.S b/lib/libc/arch/arm32/sys/ptrace.S
new file mode 100644 (file)
index 0000000..ce18ec8
--- /dev/null
@@ -0,0 +1,52 @@
+/* $NetBSD: ptrace.S,v 1.1 1996/02/16 20:48:52 mark Exp $
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)ptrace.s      5.1 (Berkeley) 4/23/90
+ *     $Id: ptrace.S,v 1.1 1996/05/01 12:51:30 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+       .text
+       .align  0
+
+ENTRY(ptrace)
+       swi     SYS_ptrace
+       bcs     cerror
+       mov     r0, #0
+       mov     r15, r14
+
diff --git a/lib/libc/arch/arm32/sys/reboot.S b/lib/libc/arch/arm32/sys/reboot.S
new file mode 100644 (file)
index 0000000..ee92ac9
--- /dev/null
@@ -0,0 +1,45 @@
+/* $NetBSD: reboot.S,v 1.1 1996/02/16 20:48:54 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)reboot.s      5.1 (Berkeley) 4/23/90
+ *     $Id: reboot.S,v 1.1 1996/05/01 12:51:31 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+SYSCALL(reboot)
+       mov     r15, r14
diff --git a/lib/libc/arch/arm32/sys/sbrk.S b/lib/libc/arch/arm32/sys/sbrk.S
new file mode 100644 (file)
index 0000000..e55a251
--- /dev/null
@@ -0,0 +1,65 @@
+/* $NetBSD: sbrk.S,v 1.1 1996/02/16 20:48:57 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)sbrk.s        5.1 (Berkeley) 4/23/90
+ *     $Id: sbrk.S,v 1.1 1996/05/01 12:51:31 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+       .globl  _end
+       .globl  curbrk
+
+       .data
+curbrk:        .long   _end
+       .text
+       .align  0
+
+ENTRY(sbrk)
+       ldr     r2, Lcurbrk
+       ldr     r1, [r2]
+       mov     r3, r0
+       add     r0, r0, r1
+       swi     SYS_break
+       bcs     cerror
+       ldr     r0, [r2]
+       add     r1, r0, r3
+       str     r1, [r2]
+       mov     r15, r14
+
+Lcurbrk:
+       .word   curbrk
diff --git a/lib/libc/arch/arm32/sys/setlogin.S b/lib/libc/arch/arm32/sys/setlogin.S
new file mode 100644 (file)
index 0000000..739bbbe
--- /dev/null
@@ -0,0 +1,53 @@
+/* $NetBSD: setlogin.S,v 1.1 1996/02/16 20:49:00 mark Exp $ */
+
+/*-
+ * Copyright (c) 1991 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)setlogin.s    5.2 (Berkeley) 4/12/91
+ *     $Id: setlogin.S,v 1.1 1996/05/01 12:51:32 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+       .globl  ___logname_valid        /* in getlogin() */
+
+SYSCALL(setlogin)
+       mov     r0, #0x00000000
+       ldr     r1, Llogname
+       str     r0, [r1]
+       mov     r15, r14
+
+Llogname:
+       .word   ___logname_valid
diff --git a/lib/libc/arch/arm32/sys/sigpending.S b/lib/libc/arch/arm32/sys/sigpending.S
new file mode 100644 (file)
index 0000000..70f7740
--- /dev/null
@@ -0,0 +1,53 @@
+/* $NetBSD: sigpending.S,v 1.1 1996/02/16 20:49:02 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)sigpending.s  5.1 (Berkeley) 7/1/90
+ *     $Id: sigpending.S,v 1.1 1996/05/01 12:51:33 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+       .text
+       .align  0
+
+ENTRY(sigpending)
+       mov     r2, r0
+       swi     SYS_sigpending
+       bcs     cerror
+       str     r0, [r2]
+       mov     r0, #0x00000000
+       mov     r15, r14
diff --git a/lib/libc/arch/arm32/sys/sigprocmask.S b/lib/libc/arch/arm32/sys/sigprocmask.S
new file mode 100644 (file)
index 0000000..7fc4535
--- /dev/null
@@ -0,0 +1,57 @@
+/* $NetBSD: sigprocmask.S,v 1.1 1996/02/16 20:49:04 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)sigprocmask.s 5.2 (Berkeley) 12/17/90
+ *     $Id: sigprocmask.S,v 1.1 1996/05/01 12:51:33 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+       .text
+       .align  0
+
+ENTRY(sigprocmask)
+       teq     r1, #0x00000000
+       moveq   r0, #0x00000001
+       moveq   r1, #0x00000000
+       ldrne   r1, [r1]
+       swi     SYS_sigprocmask
+       bcs     cerror
+       teq     r2, #0x00000000
+       strne   r0, [r2]
+       mov     r0, #0x00000000
+       mov     r15, r14
diff --git a/lib/libc/arch/arm32/sys/sigreturn.S b/lib/libc/arch/arm32/sys/sigreturn.S
new file mode 100644 (file)
index 0000000..f19ec3a
--- /dev/null
@@ -0,0 +1,60 @@
+/* $NetBSD: sigreturn.S,v 1.1 1996/02/16 20:49:10 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)sigreturn.s   5.2 (Berkeley) 12/17/90"
+ *     $Id: sigreturn.S,v 1.1 1996/05/01 12:51:34 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+/*
+ * We must preserve the state of the registers as the user has set them up.
+ */
+
+/* I must code this bit ... - mark */
+
+#if 0
+#ifdef PROF
+#undef ENTRY
+#define        ENTRY(x) \
+       .globl _/**/x; .align 2; _/**/x:  pusha ; \
+       .data; 1:; .long 0; .text; movl $1b,%eax; call mcount; popa ; nop
+#endif /* PROF */
+#endif
+
+SYSCALL(sigreturn)
+       mov     r15, r14
diff --git a/lib/libc/arch/arm32/sys/sigsuspend.S b/lib/libc/arch/arm32/sys/sigsuspend.S
new file mode 100644 (file)
index 0000000..917a0d8
--- /dev/null
@@ -0,0 +1,52 @@
+/* $NetBSD: sigsuspend.S,v 1.1 1996/02/16 20:49:13 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)sigsuspend.s  5.2 (Berkeley) 12/17/90
+ *     $Id: sigsuspend.S,v 1.1 1996/05/01 12:51:35 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+       .text
+       .align  0
+
+ENTRY(sigsuspend)
+       ldr     r0, [r0]
+       swi     SYS_sigsuspend
+       bcs     cerror
+       mov     r0, #0x00000000
+       mov     r15, r14
diff --git a/lib/libc/arch/arm32/sys/syscall.S b/lib/libc/arch/arm32/sys/syscall.S
new file mode 100644 (file)
index 0000000..4a2fcbb
--- /dev/null
@@ -0,0 +1,50 @@
+/* $NetBSD: syscall.S,v 1.1 1996/02/16 20:49:16 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * 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.
+ *
+ *     from: @(#)syscall.s     5.1 (Berkeley) 4/23/90
+ *     $Id: syscall.S,v 1.1 1996/05/01 12:51:35 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+       .text
+       .align  0
+
+ENTRY(syscall)
+       swi     0x00000000
+       bcs     cerror
+       mov     r15, r14