diff options
author | 2009-02-13 23:28:55 +0000 | |
---|---|---|
committer | 2009-02-13 23:28:55 +0000 | |
commit | effa9a966dccca3ff56db6e49e36946a28ead009 (patch) | |
tree | 11b6988bc85457e1477e0bb6e08d541a2d924d11 | |
parent | Provide a specific delay() routine using separate timers for the two cpus (diff) | |
download | wireguard-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.S | 8 |
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 |