summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormiod <miod@openbsd.org>2009-02-13 23:28:55 +0000
committermiod <miod@openbsd.org>2009-02-13 23:28:55 +0000
commiteffa9a966dccca3ff56db6e49e36946a28ead009 (patch)
tree11b6988bc85457e1477e0bb6e08d541a2d924d11
parentProvide a specific delay() routine using separate timers for the two cpus (diff)
downloadwireguard-openbsd-effa9a966dccca3ff56db6e49e36946a28ead009.tar.xz
wireguard-openbsd-effa9a966dccca3ff56db6e49e36946a28ead009.zip
When switching processes, do not reenable interrupts until pmap_activate()
has been invoked on the new process.
-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