diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2009-02-13 23:28:56 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2009-02-13 23:28:56 +0000 |
commit | 00bb1bc3aac8aab9b30a7ee56bcd58538bfa2cf7 (patch) | |
tree | c3a2da92c7090b1cac84ed841c2452745a324ba7 /sys/arch/m88k | |
parent | 38af4391788f35a11751ff563517334dab98cd98 (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.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 |