summaryrefslogtreecommitdiff
path: root/sys/arch/vax
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2008-10-10 20:21:41 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2008-10-10 20:21:41 +0000
commitda51482d4777ad7b2900fa5fbeb87df047f50f02 (patch)
tree41ae56a55594dc68d255a57d1cf3ade60ada1037 /sys/arch/vax
parentd08bba148ce6d2bc797cefbe3915b386dd8e3820 (diff)
Use the MI random() for all cases; no need for a MD version since it
has never been performance sensitive. Running on all platforms, discussed with millert and kettenis, ok toby
Diffstat (limited to 'sys/arch/vax')
-rw-r--r--sys/arch/vax/conf/files.vax3
-rw-r--r--sys/arch/vax/vax/random.s105
2 files changed, 1 insertions, 107 deletions
diff --git a/sys/arch/vax/conf/files.vax b/sys/arch/vax/conf/files.vax
index 0c34f42ef43..34c89ba13f0 100644
--- a/sys/arch/vax/conf/files.vax
+++ b/sys/arch/vax/conf/files.vax
@@ -1,4 +1,4 @@
-# $OpenBSD: files.vax,v 1.48 2008/08/18 23:19:21 miod Exp $
+# $OpenBSD: files.vax,v 1.49 2008/10/10 20:21:39 deraadt Exp $
# $NetBSD: files.vax,v 1.60 1999/08/27 20:04:32 ragge Exp $
#
# new style config file for vax architecture
@@ -384,7 +384,6 @@ file arch/vax/vax/bus_mem.c
file arch/vax/vax/sgmap.c
file arch/vax/vax/vm_machdep.c
file arch/vax/vax/findcpu.c
-file arch/vax/vax/random.s
file arch/vax/vax/autoconf.c
file arch/vax/vax/mutex.c
file arch/vax/vax/in_cksum.c inet
diff --git a/sys/arch/vax/vax/random.s b/sys/arch/vax/vax/random.s
deleted file mode 100644
index 41fea6aea6c..00000000000
--- a/sys/arch/vax/vax/random.s
+++ /dev/null
@@ -1,105 +0,0 @@
-/* $OpenBSD: random.s,v 1.5 2007/01/14 19:13:35 otto Exp $ */
-/* $NetBSD: random.S,v 1.4 2007/01/14 13:26:18 ragge Exp $ */
-
-/*
- * Copyright (c) 1994 Ludd, University of Lule}, Sweden. 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. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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.
- */
-
-/*
- * 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: (1) source code distributions
- * retain the above copyright notice and this paragraph in its entirety, (2)
- * distributions including binary code include the above copyright notice and
- * this paragraph in its entirety in the documentation or other materials
- * provided with the distribution, and (3) all advertising materials mentioning
- * features or use of this software display the following acknowledgement:
- * ``This product includes software developed by the University of California,
- * Lawrence Berkeley Laboratory and its contributors.'' 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Here is a very good random number generator. This implementation is
- * based on ``Two Fast Implementations of the "Minimal Standard" Random
- * Number Generator'', David G. Carta, Communications of the ACM, Jan 1990,
- * Vol 33 No 1. Do NOT modify this code unless you have a very thorough
- * understanding of the algorithm. It's trickier than you think. If
- * you do change it, make sure that its 10,000'th invocation returns
- * 1043618065.
- *
- * Here is easier-to-decipher pseudocode:
- *
- * p = (16807*seed)<30:0> # e.g., the low 31 bits of the product
- * q = (16807*seed)<62:31> # e.g., the high 31 bits starting at bit 32
- * if (p + q < 2^31)
- * seed = p + q
- * else
- * seed = ((p + q) & (2^31 - 1)) + 1
- * return (seed);
- *
- * The result is in (0,2^31), e.g., it's always positive.
- */
-
-#include <machine/asm.h>
-
- .data
- .globl __randseed
-__randseed:
- .long 1
-ENTRY(random, 0)
- movl $16807,r0
-
- movl __randseed,r1 # r2=16807*loword(__randseed)
- bicl3 $0xffff0000,r1,r2
- mull2 r0,r2
- ashl $-16,r1,r1 # r1=16807*hiword(__randseed)
- bicl2 $0xffff0000,r1
- mull2 r0,r1
- bicl3 $0xffff0000,r2,r0
- ashl $-16,r2,r2 # r1+=(r2>>16)
- bicl2 $0xffff0000,r2
- addl2 r2,r1
- ashl $16,r1,r2 # r0|=r1<<16
- bisl2 r2,r0
- ashl $-16,r1,r1 # r1=r1>>16
-
- ashl $1,r1,r1
- movl r0,r2
- rotl $1,r0,r0
- bicl2 $0xfffffffe,r0
- bisl2 r0,r1
- movl r2,r0
- bicl2 $0x80000000,r0
- addl2 r1,r0
- bgeq L1
- subl2 $0x7fffffff,r0
-L1: movl r0,__randseed
- ret