summaryrefslogtreecommitdiff
path: root/sys/arch/m88k
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-10-13 12:54:04 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-10-13 12:54:04 +0000
commitc356485829dc6ea9a7fa11461c394073db3c29ab (patch)
tree1c50ea29a26e04434a680e0d09f4a88dca30417d /sys/arch/m88k
parent77f0ca66bb7937375fe67517f138e94df14f0cb1 (diff)
Be sure to spl0() in proc_trampoline, so that kernel threads start at IPL_NONE.
Diffstat (limited to 'sys/arch/m88k')
-rw-r--r--sys/arch/m88k/m88k/eh_common.S10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/arch/m88k/m88k/eh_common.S b/sys/arch/m88k/m88k/eh_common.S
index f0dba03fb00..83c915f7de5 100644
--- a/sys/arch/m88k/m88k/eh_common.S
+++ b/sys/arch/m88k/m88k/eh_common.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: eh_common.S,v 1.24 2007/05/18 16:35:54 miod Exp $ */
+/* $OpenBSD: eh_common.S,v 1.25 2007/10/13 12:54:03 miod Exp $ */
/*
* Mach Operating System
* Copyright (c) 1993-1991 Carnegie Mellon University
@@ -2332,8 +2332,12 @@ ENTRY(proc_trampoline)
#ifdef MULTIPROCESSOR
bsr _C_LABEL(proc_trampoline_mp)
#endif
- ld r1, r31, 0 /* load func */
- ld r2, r31, 4 /* load proc pointer */
+
+ bsr.n _C_LABEL(setipl) /* setipl(IPL_NONE) */
+ or r2, r0, r0
+
+ ld r1, r31, 0 /* load func */
+ ld r2, r31, 4 /* load proc pointer */
jsr.n r1
addu r31, r31, 8 /* release ksigframe */
ld r1, r31, 0 /* load pc */