copied from libc
authorderaadt <deraadt@openbsd.org>
Wed, 1 May 1996 15:08:15 +0000 (15:08 +0000)
committerderaadt <deraadt@openbsd.org>
Wed, 1 May 1996 15:08:15 +0000 (15:08 +0000)
sys/lib/libkern/arch/alpha/Makefile.inc
sys/lib/libkern/arch/alpha/byte_swap_2.S [new file with mode: 0644]
sys/lib/libkern/arch/alpha/byte_swap_4.S [new file with mode: 0644]
sys/lib/libkern/arch/alpha/htonl.S [new file with mode: 0644]
sys/lib/libkern/arch/alpha/htons.S [new file with mode: 0644]
sys/lib/libkern/arch/alpha/ntohl.S [new file with mode: 0644]
sys/lib/libkern/arch/alpha/ntohs.S [new file with mode: 0644]

index 8a3b6cd..5cdbfb0 100644 (file)
@@ -1,9 +1,9 @@
-#      $OpenBSD: Makefile.inc,v 1.3 1996/04/21 22:27:45 deraadt Exp $
-#      $NetBSD: Makefile.inc,v 1.4 1996/04/13 01:17:27 cgd Exp $
+#      $OpenBSD: Makefile.inc,v 1.4 1996/05/01 15:08:15 deraadt Exp $
+#      $NetBSD: Makefile.inc,v 1.5 1996/04/17 22:46:34 cgd Exp $
 
 SRCS+= __main.c imax.c imin.c lmax.c lmin.c max.c min.c ulmax.c ulmin.c \
        bcmp.c bzero.S ffs.c strcat.c strcmp.c strcpy.c strlen.c strncmp.c \
-       strncpy.c scanc.c skpc.c locc.c htonl.c htons.c ntohl.c ntohs.c \
+       strncpy.c scanc.c skpc.c locc.c htonl.S htons.S ntohl.S ntohs.S \
        random.c strncasecmp.c
 
 # `source' files built from m4 source
diff --git a/sys/lib/libkern/arch/alpha/byte_swap_2.S b/sys/lib/libkern/arch/alpha/byte_swap_2.S
new file mode 100644 (file)
index 0000000..bcc6727
--- /dev/null
@@ -0,0 +1,47 @@
+/*     $NetBSD: byte_swap_2.S,v 1.1 1996/04/17 22:46:37 cgd Exp $      */
+
+/*
+ * Copyright (c) 1996 Carnegie-Mellon University.
+ * All rights reserved.
+ *
+ * Author: Chris G. Demetriou
+ *
+ * Permission to use, copy, modify and distribute this software and
+ * its documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
+ * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
+ *  School of Computer Science
+ *  Carnegie Mellon University
+ *  Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie the
+ * rights to redistribute these changes.
+ */
+
+#include "DEFS.h"
+
+#ifndef NAME
+#define        NAME byte_swap_2
+#endif
+
+/*
+ * Byte-swap a 2-byte quantity.  (Convert 0x0123 to 0x2301.)
+ *
+ * Argument is an unsigned 2-byte integer (u_int16_t).
+ */
+LEAF(NAME, 1)                  /* a0 contains 0x0123 */
+       extbl   a0, 0, t0       /* t0 = 0x  23 */
+       extbl   a0, 1, t1       /* t1 = 0x  01 */
+       sll     t0, 8, t0       /* t1 = 0x23   */
+       or      t0, t1, v0      /* v0 = 0x2301 */
+       RET
+END(NAME)
diff --git a/sys/lib/libkern/arch/alpha/byte_swap_4.S b/sys/lib/libkern/arch/alpha/byte_swap_4.S
new file mode 100644 (file)
index 0000000..a60803d
--- /dev/null
@@ -0,0 +1,53 @@
+/*     $NetBSD: byte_swap_4.S,v 1.1 1996/04/17 22:46:39 cgd Exp $      */
+
+/*
+ * Copyright (c) 1996 Carnegie-Mellon University.
+ * All rights reserved.
+ *
+ * Author: Chris G. Demetriou
+ *
+ * Permission to use, copy, modify and distribute this software and
+ * its documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
+ * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
+ *  School of Computer Science
+ *  Carnegie Mellon University
+ *  Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie the
+ * rights to redistribute these changes.
+ */
+
+#include "DEFS.h"
+
+#ifndef NAME
+#define        NAME byte_swap_4
+#endif
+
+/*
+ * Byte-swap a 4-byte quantity.  (Convert 0x01234567 to 0x67452301.)
+ *
+ * Argument is an unsigned 4-byte integer (u_int32_t).
+ */
+LEAF(NAME, 1)                  /* a0 contains 0x01234567 */
+       extbl   a0, 0, t0       /* t0 = 0x      67 */
+       extbl   a0, 1, t1       /* t1 = 0x      45 */
+       extbl   a0, 2, t2       /* t2 = 0x      23 */
+       extbl   a0, 3, t3       /* t3 = 0x      01 */
+       sll     t0, 24, t0      /* t0 = 0x67       */
+       sll     t1, 16, t1      /* t1 = 0x  45     */
+       sll     t2, 8, t2       /* t2 = 0x    23   */
+       or      t3, t0, v0      /* v0 = 0x67    01 */
+       or      t1, t2, t1      /* t1 = 0x  4523   */
+       or      t1, v0, v0      /* v0 = 0x67452301 */
+       RET
+END(NAME)
diff --git a/sys/lib/libkern/arch/alpha/htonl.S b/sys/lib/libkern/arch/alpha/htonl.S
new file mode 100644 (file)
index 0000000..e1871e0
--- /dev/null
@@ -0,0 +1,32 @@
+/*     $NetBSD: htonl.S,v 1.1 1996/04/17 22:46:41 cgd Exp $    */
+
+/*
+ * Copyright (c) 1996 Carnegie-Mellon University.
+ * All rights reserved.
+ *
+ * Author: Chris G. Demetriou
+ *
+ * Permission to use, copy, modify and distribute this software and
+ * its documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
+ * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
+ *  School of Computer Science
+ *  Carnegie Mellon University
+ *  Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie the
+ * rights to redistribute these changes.
+ */
+
+#define        NAME    htonl
+
+#include "byte_swap_4.S"
diff --git a/sys/lib/libkern/arch/alpha/htons.S b/sys/lib/libkern/arch/alpha/htons.S
new file mode 100644 (file)
index 0000000..7ab417a
--- /dev/null
@@ -0,0 +1,32 @@
+/*     $NetBSD: htons.S,v 1.1 1996/04/17 22:46:43 cgd Exp $    */
+
+/*
+ * Copyright (c) 1996 Carnegie-Mellon University.
+ * All rights reserved.
+ *
+ * Author: Chris G. Demetriou
+ *
+ * Permission to use, copy, modify and distribute this software and
+ * its documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
+ * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
+ *  School of Computer Science
+ *  Carnegie Mellon University
+ *  Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie the
+ * rights to redistribute these changes.
+ */
+
+#define        NAME    htons
+
+#include "byte_swap_2.S"
diff --git a/sys/lib/libkern/arch/alpha/ntohl.S b/sys/lib/libkern/arch/alpha/ntohl.S
new file mode 100644 (file)
index 0000000..9689ef1
--- /dev/null
@@ -0,0 +1,32 @@
+/*     $NetBSD: ntohl.S,v 1.1 1996/04/17 22:46:45 cgd Exp $    */
+
+/*
+ * Copyright (c) 1996 Carnegie-Mellon University.
+ * All rights reserved.
+ *
+ * Author: Chris G. Demetriou
+ *
+ * Permission to use, copy, modify and distribute this software and
+ * its documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
+ * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
+ *  School of Computer Science
+ *  Carnegie Mellon University
+ *  Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie the
+ * rights to redistribute these changes.
+ */
+
+#define        NAME    ntohl
+
+#include "byte_swap_4.S"
diff --git a/sys/lib/libkern/arch/alpha/ntohs.S b/sys/lib/libkern/arch/alpha/ntohs.S
new file mode 100644 (file)
index 0000000..1336213
--- /dev/null
@@ -0,0 +1,32 @@
+/*     $NetBSD: ntohs.S,v 1.1 1996/04/17 22:46:46 cgd Exp $    */
+
+/*
+ * Copyright (c) 1996 Carnegie-Mellon University.
+ * All rights reserved.
+ *
+ * Author: Chris G. Demetriou
+ *
+ * Permission to use, copy, modify and distribute this software and
+ * its documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
+ * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
+ *  School of Computer Science
+ *  Carnegie Mellon University
+ *  Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie the
+ * rights to redistribute these changes.
+ */
+
+#define        NAME    ntohs
+
+#include "byte_swap_2.S"