summaryrefslogtreecommitdiff
path: root/sys/arch/m88k
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2009-02-13 23:28:56 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2009-02-13 23:28:56 +0000
commit00bb1bc3aac8aab9b30a7ee56bcd58538bfa2cf7 (patch)
treec3a2da92c7090b1cac84ed841c2452745a324ba7 /sys/arch/m88k
parent38af4391788f35a11751ff563517334dab98cd98 (diff)
When switching processes, do not reenable interrupts until pmap_activate()
has been invoked on the new process.
Diffstat (limited to 'sys/arch/m88k')
-rw-r--r--sys/arch/m88k/m88k/process.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/arch/m88k/m88k/process.S b/sys/arch/m88k/m88k/process.S
index efa180bbee0..6b67249fda5 100644
--- a/sys/arch/m88k/m88k/process.S
+++ b/sys/arch/m88k/m88k/process.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: process.S,v 1.22 2008/10/30 22:06:02 miod Exp $ */
+/* $OpenBSD: process.S,v 1.23 2009/02/13 23:28:55 miod Exp $ */
/*
* Copyright (c) 1996 Nivas Madhur
* All rights reserved.
@@ -76,14 +76,14 @@ ENTRY(cpu_switchto)
ld r2, r3, P_ADDR
st r2, r11, CI_CURPCB /* curpcb = p->p_addr */
+ bsr.n _C_LABEL(pmap_activate) /* pmap_activate(newproc) */
+ or r2, r0, r3
+
ldcr r2, PSR
clr r2, r2, 1<PSR_INTERRUPT_DISABLE_BIT>
stcr r2, PSR
FLUSH_PIPELINE
- bsr.n _C_LABEL(pmap_activate) /* pmap_activate(newproc) */
- or r2, r0, r3
-
ldcr r10, CPU
ld r10, r10, CI_CURPCB