diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2016-03-10 05:21:07 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2016-03-10 05:21:07 +0000 |
commit | c400f295ba6f85ba64ace07f695fb256c2d0be4a (patch) | |
tree | 265a006468002120501028c53adada195040d33f /sys/lib/libkern | |
parent | 9ba85825418c4c702bba4c9e682bc8d578dd7716 (diff) |
more pieces of vax
Diffstat (limited to 'sys/lib/libkern')
-rw-r--r-- | sys/lib/libkern/arch/vax/bcmp.S | 56 | ||||
-rw-r--r-- | sys/lib/libkern/arch/vax/bcopy.S | 1 | ||||
-rw-r--r-- | sys/lib/libkern/arch/vax/bzero.S | 46 | ||||
-rw-r--r-- | sys/lib/libkern/arch/vax/memcmp.S | 65 | ||||
-rw-r--r-- | sys/lib/libkern/arch/vax/memcpy.S | 1 | ||||
-rw-r--r-- | sys/lib/libkern/arch/vax/memmove.S | 102 | ||||
-rw-r--r-- | sys/lib/libkern/arch/vax/memset.S | 48 |
7 files changed, 0 insertions, 319 deletions
diff --git a/sys/lib/libkern/arch/vax/bcmp.S b/sys/lib/libkern/arch/vax/bcmp.S deleted file mode 100644 index 36c360cc698..00000000000 --- a/sys/lib/libkern/arch/vax/bcmp.S +++ /dev/null @@ -1,56 +0,0 @@ -/* $OpenBSD: bcmp.S,v 1.4 2013/07/05 21:11:57 miod Exp $ */ -/* - * Copyright (c) 1983, 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. 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> - -/* Since "cmpc3" is not portable across VAXen, do it the hard way */ -/* still, this is four times faster than the generic C version on a uvax2 */ - -ENTRY(bcmp, 0) - movl 12(%ap),%r0 # r0 = n - jeql 9f - movq 4(%ap),%r1 # r1 = s1, r2 = s2 - ashl $-2,%r0,%r3 # convert len to # of long words - jeql 2f -1: - cmpl (%r1)+,(%r2)+ # no "cmpq" alas, so four bytes at a time - jneq 9f - sobgtr %r3,1b -2: - bicl3 $-4,%r0,%r3 # handle at most 3 extra bytes - jeql 8f -3: - cmpb (%r1)+,(%r2)+ - jneq 9f - sobgtr %r3,3b -8: - clrl %r0 # we have a match! -9: - ret diff --git a/sys/lib/libkern/arch/vax/bcopy.S b/sys/lib/libkern/arch/vax/bcopy.S deleted file mode 100644 index c9361568da4..00000000000 --- a/sys/lib/libkern/arch/vax/bcopy.S +++ /dev/null @@ -1 +0,0 @@ -/* This code is contained in memmove.S */ diff --git a/sys/lib/libkern/arch/vax/bzero.S b/sys/lib/libkern/arch/vax/bzero.S deleted file mode 100644 index 0c21e05f0e1..00000000000 --- a/sys/lib/libkern/arch/vax/bzero.S +++ /dev/null @@ -1,46 +0,0 @@ -/* $OpenBSD: bzero.S,v 1.4 2013/07/05 21:11:57 miod Exp $ */ -/* - * Copyright (c) 1983, 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. 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. - */ - -/* bzero(base, length) */ - -#include <machine/asm.h> - -ENTRY(bzero, R2|R3|R4|R5) - movl 4(%ap),%r3 - jbr 2f -1: - subl2 %r0,8(%ap) - movc5 $0,(%r3),$0,%r0,(%r3) -2: - movzwl $65535,%r0 - cmpl 8(%ap),%r0 - jgtr 1b - movc5 $0,(%r3),$0,8(%ap),(%r3) - ret diff --git a/sys/lib/libkern/arch/vax/memcmp.S b/sys/lib/libkern/arch/vax/memcmp.S deleted file mode 100644 index f5fda4dcb29..00000000000 --- a/sys/lib/libkern/arch/vax/memcmp.S +++ /dev/null @@ -1,65 +0,0 @@ -/* $OpenBSD: memcmp.S,v 1.2 2013/07/05 21:11:57 miod Exp $ */ -/*- - * Copyright (c) 1990, 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. 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. - */ - -/* int memcmp(s1, s2, n) */ - -#include <machine/asm.h> - -ENTRY(memcmp, 0) - movl 12(%ap),%r0 - jeql 9f - movq 4(%ap),%r1 - ashl $-2,%r0,%r3 # convert len to long words - jeql 2f -1: - cmpl (%r1)+,(%r2)+ # no "cmpq" alas - jneq 7f - sobgtr %r3,1b -2: - bicl3 $-4,%r0,%r3 # handle at most 3 extra bytes - jeql 4f -3: - cmpb (%r1)+,(%r2)+ - jneq 8f - sobgtr %r3,3b -4: - clrl %r0 # we had a match - ret -7: # backup, and do a byte compare - tstl -(%r1) - tstl -(%r2) - movl $4,%r3 - jbr 3b -8: - movzbl -(%r1),%r3 - movzbl -(%r2),%r4 - subl3 %r4,%r3,%r0 -9: - ret diff --git a/sys/lib/libkern/arch/vax/memcpy.S b/sys/lib/libkern/arch/vax/memcpy.S deleted file mode 100644 index c9361568da4..00000000000 --- a/sys/lib/libkern/arch/vax/memcpy.S +++ /dev/null @@ -1 +0,0 @@ -/* This code is contained in memmove.S */ diff --git a/sys/lib/libkern/arch/vax/memmove.S b/sys/lib/libkern/arch/vax/memmove.S deleted file mode 100644 index 8723aaa8ec1..00000000000 --- a/sys/lib/libkern/arch/vax/memmove.S +++ /dev/null @@ -1,102 +0,0 @@ -/* $OpenBSD: memmove.S,v 1.5 2013/07/05 21:11:57 miod Exp $ */ -/*- - * Copyright (c) 1990, 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. 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. - */ - -/* - * void *memmove(dst, src, size) - * returns dst - * - * This optimises the usual case (count < 65536) at the expense - * of some extra memory references and branches when count >= 65536. - */ - -#include <machine/asm.h> - -ENTRY(bcopy, R2|R3|R4|R5) - movzwl $65535,%r0 /* r0 = 64K (needed below) */ - movq 8(%ap),%r1 /* r1 = src, r2 = length */ - movl %r1,%r3 /* r3 = dst */ - movl 4(%ap),%r1 /* r1 = src */ - brw 5f /* do a memmove */ - -ENTRY(memcpy, R2|R3|R4|R5) - movzwl $65535,%r0 /* r0 = 64K (needed below) */ - movq 8(%ap),%r1 /* r1 = src, r2 = length */ - movl 4(%ap),%r3 /* r3 = dst */ - cmpl %r1,%r3 - beql 2f /* equal, nothing to do */ - brw 1f /* jump into the forward copy path of memmove */ - -ENTRY(memmove, R2|R3|R4|R5) - movzwl $65535,%r0 /* r0 = 64K (needed below) */ - movq 8(%ap),%r1 /* r1 = src, r2 = length */ - movl 4(%ap),%r3 /* r3 = dst */ -5: - cmpl %r1,%r3 - bgtru 1f /* normal forward case */ - beql 2f /* equal, nothing to do */ - addl2 %r2,%r1 /* overlaps iff src<dst but src+len>dst */ - cmpl %r1,%r3 - bgtru 4f /* overlapping, must move backwards */ - subl2 %r2,%r1 - -1: /* move forward */ - cmpl %r2,%r0 - bgtru 3f /* stupid movc3 limitation */ - movc3 %r2,(%r1),(%r3) /* move it all */ -2: - movl 4(%ap),%r0 /* return original dst */ - ret -3: - subl2 %r0,12(%ap) /* adjust length by 64K */ - movc3 %r0,(%r1),(%r3) /* move 64K */ - movl 12(%ap),%r2 - decw %r0 /* from 0 to 65535 */ - brb 1b /* retry */ - -4: /* move backward */ - addl2 %r2,%r3 -5: - cmpl %r2,%r0 - bgtru 6f /* stupid movc3 limitation */ - subl2 %r2,%r1 - subl2 %r2,%r3 - movc3 %r2,(%r1),(%r3) /* move it all */ - movl 4(%ap),%r0 /* return original dst */ - ret -6: - subl2 %r0,12(%ap) /* adjust length by 64K */ - subl2 %r0,%r1 - subl2 %r0,%r3 - movc3 %r0,(%r1),(%r3) /* move 64K */ - movl 12(%ap),%r2 - decw %r0 - subl2 %r0,%r1 - subl2 %r0,%r3 - brb 5b diff --git a/sys/lib/libkern/arch/vax/memset.S b/sys/lib/libkern/arch/vax/memset.S deleted file mode 100644 index 80ce2a2f752..00000000000 --- a/sys/lib/libkern/arch/vax/memset.S +++ /dev/null @@ -1,48 +0,0 @@ -/* $OpenBSD: memset.S,v 1.2 2013/07/05 21:11:57 miod Exp $ */ -/*- - * Copyright (c) 1990, 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. 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. - */ - -/* void *memset(base, c, length) */ - -#include <machine/asm.h> - -ENTRY(memset, R2|R3|R4|R5) - movl 4(%ap),%r3 -1: - movzwl $65535,%r0 - movq 8(%ap),%r1 - cmpl %r2,%r0 - jgtru 2f - movc5 $0,(%r3),%r1,%r2,(%r3) - movl %r1,%r0 - ret -2: - subl2 %r0,12(%ap) - movc5 $0,(%r3),%r1,%r0,(%r3) - jbr 1b |