summaryrefslogtreecommitdiff
path: root/sys/arch/aviion
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-12-20 21:14:08 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-12-20 21:14:08 +0000
commit590d1ec17a6c61753753e42a5b4275df72356eed (patch)
tree8e20db376b25dc1a728b67d8678ffa11566df51f /sys/arch/aviion
parentb38ee845cc1d5065612de28ef164ba7c635893b7 (diff)
Do not wait for the end of the universe if delay(0).
Diffstat (limited to 'sys/arch/aviion')
-rw-r--r--sys/arch/aviion/aviion/locore.S9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/arch/aviion/aviion/locore.S b/sys/arch/aviion/aviion/locore.S
index e347733fda5..560d2c43758 100644
--- a/sys/arch/aviion/aviion/locore.S
+++ b/sys/arch/aviion/aviion/locore.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: locore.S,v 1.9 2007/12/05 22:12:32 miod Exp $ */
+/* $OpenBSD: locore.S,v 1.10 2007/12/20 21:14:06 miod Exp $ */
/*
* Copyright (c) 2005, Miodrag Vallat.
* Copyright (c) 1998 Steve Murphree, Jr.
@@ -347,8 +347,9 @@ GLOBAL(secondary_start)
* (originally from Mach 2.5)
*/
GLOBAL(delay)
- or.u r3, r0, hi16(_cpuspeed)
- ld r3, r3, lo16(_cpuspeed)
+ bcnd eq0, r2, 2f
+ or.u r3, r0, hi16(_C_LABEL(aviion_delay_const))
+ ld r3, r3, lo16(_C_LABEL(aviion_delay_const))
mul r4, r2, r3
subu r4, r4, 4 /* overhead of these instructions */
@@ -356,7 +357,7 @@ GLOBAL(delay)
1:
bcnd.n gt0, r4, 1b
subu r4, r4, 2 /* two cycles per iteration */
-
+2:
jmp r1
/*****************************************************************************/