diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2007-10-13 12:54:04 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2007-10-13 12:54:04 +0000 |
commit | c356485829dc6ea9a7fa11461c394073db3c29ab (patch) | |
tree | 1c50ea29a26e04434a680e0d09f4a88dca30417d /sys/arch/m88k | |
parent | 77f0ca66bb7937375fe67517f138e94df14f0cb1 (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.S | 10 |
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 */ |