diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2007-12-20 21:14:08 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2007-12-20 21:14:08 +0000 |
commit | 590d1ec17a6c61753753e42a5b4275df72356eed (patch) | |
tree | 8e20db376b25dc1a728b67d8678ffa11566df51f /sys/arch | |
parent | b38ee845cc1d5065612de28ef164ba7c635893b7 (diff) |
Do not wait for the end of the universe if delay(0).
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/aviion/aviion/locore.S | 9 | ||||
-rw-r--r-- | sys/arch/luna88k/luna88k/locore.S | 9 | ||||
-rw-r--r-- | sys/arch/mvme88k/mvme88k/locore.S | 9 |
3 files changed, 15 insertions, 12 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 /*****************************************************************************/ diff --git a/sys/arch/luna88k/luna88k/locore.S b/sys/arch/luna88k/luna88k/locore.S index d89b91cb50c..f09b18f2834 100644 --- a/sys/arch/luna88k/luna88k/locore.S +++ b/sys/arch/luna88k/luna88k/locore.S @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.S,v 1.18 2007/12/04 23:43:54 miod Exp $ */ +/* $OpenBSD: locore.S,v 1.19 2007/12/20 21:14:07 miod Exp $ */ /* * Copyright (c) 1998 Steve Murphree, Jr. * Copyright (c) 1996 Nivas Madhur @@ -306,8 +306,9 @@ ASLOCAL(secondary_init) */ GLOBAL(delay) - or.u r3, r0, hi16(_cpuspeed) - ld r3, r3, lo16(_cpuspeed) + bcnd eq0, r2, 2f + or.u r3, r0, hi16(_C_LABEL(cpuseed)) + ld r3, r3, lo16(_C_LABEL(cpuseed)) mul r4, r2, r3 subu r4, r4, 4 /* overhead of these instructions */ @@ -315,7 +316,7 @@ GLOBAL(delay) 1: bcnd.n gt0, r4, 1b subu r4, r4, 2 /* two cycles per iteration */ - +2: jmp r1 /*****************************************************************************/ diff --git a/sys/arch/mvme88k/mvme88k/locore.S b/sys/arch/mvme88k/mvme88k/locore.S index a8b44ff1bbb..6590cebec1c 100644 --- a/sys/arch/mvme88k/mvme88k/locore.S +++ b/sys/arch/mvme88k/mvme88k/locore.S @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.S,v 1.59 2007/12/09 19:57:51 miod Exp $ */ +/* $OpenBSD: locore.S,v 1.60 2007/12/20 21:14:07 miod Exp $ */ /* * Copyright (c) 2005, Miodrag Vallat. * Copyright (c) 1998 Steve Murphree, Jr. @@ -359,8 +359,9 @@ GLOBAL(doboot) * (originally from Mach 2.5) */ GLOBAL(m188_delay) - or.u r3, r0, hi16(_cpuspeed) - ld r3, r3, lo16(_cpuspeed) + bcnd eq0, r2, 2f + or.u r3, r0, hi16(_C_LABEL(m188_delay_const)) + ld r3, r3, lo16(_C_LABEL(m188_delay_const)) mul r4, r2, r3 subu r4, r4, 4 /* overhead of these instructions */ @@ -368,7 +369,7 @@ GLOBAL(m188_delay) 1: bcnd.n gt0, r4, 1b subu r4, r4, 2 /* two cycles per iteration */ - +2: jmp r1 #endif |