summaryrefslogtreecommitdiff
path: root/sys/arch/mips64
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2010-01-18 16:58:43 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2010-01-18 16:58:43 +0000
commitf7e0d469569525dba8f4a4fc84f239920a48468a (patch)
treed546a09bde33931f8c4cde0104ecde3c933f3820 /sys/arch/mips64
parent2f93ee5e4fdcf08bf7c7ba70572362b5f4cb8524 (diff)
In proc_trampoline(), don't spl0() if option MULTIPROCESSOR; this is already
done for us by proc_trampoline_mp().
Diffstat (limited to 'sys/arch/mips64')
-rw-r--r--sys/arch/mips64/mips64/exception.S7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/arch/mips64/mips64/exception.S b/sys/arch/mips64/mips64/exception.S
index 243b245d48f..5ec642a2c8d 100644
--- a/sys/arch/mips64/mips64/exception.S
+++ b/sys/arch/mips64/mips64/exception.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: exception.S,v 1.28 2010/01/09 23:43:43 miod Exp $ */
+/* $OpenBSD: exception.S,v 1.29 2010/01/18 16:58:42 miod Exp $ */
/*
* Copyright (c) 2002-2003 Opsycon AB (www.opsycon.se / www.opsycon.com)
@@ -491,6 +491,9 @@ END(u_general)
* Setup for and return to user.
*/
LEAF(proc_trampoline, 0)
+#ifdef DDB
+ move zero, ra
+#endif
#ifdef MULTIPROCESSOR
jal _C_LABEL(proc_trampoline_mp)
nop
@@ -500,8 +503,10 @@ LEAF(proc_trampoline, 0)
* start at spl0 and with interrupts enabled, and these
* won't ``return to userland''.
*/
+#ifndef MULTIPROCESSOR /* done by proc_trampoline_mp() */
jal splx
xor a0, a0
+#endif
jal updateimask # Make sure SR imask is updated
xor a0, a0 # and interrupts enabled