summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-05-12 19:59:53 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-05-12 19:59:53 +0000
commit6a9dc1bb13b8b3a57b9d9ed2ea901e2f305038bc (patch)
tree4425e4b5f9c3a690a461363a438c7c8ef74d44c5 /sys/arch
parent7e92e16acfb2ee4d356e317a3427223129ceb20b (diff)
On multiprocessor kernels, update p->p_pcu on exit from the scheduler.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/m88k/m88k/genassym.cf5
-rw-r--r--sys/arch/m88k/m88k/process.S5
2 files changed, 7 insertions, 3 deletions
diff --git a/sys/arch/m88k/m88k/genassym.cf b/sys/arch/m88k/m88k/genassym.cf
index 3da51a297c8..5738186c08a 100644
--- a/sys/arch/m88k/m88k/genassym.cf
+++ b/sys/arch/m88k/m88k/genassym.cf
@@ -1,4 +1,4 @@
-# $OpenBSD: genassym.cf,v 1.7 2006/11/18 22:49:43 miod Exp $
+# $OpenBSD: genassym.cf,v 1.8 2007/05/12 19:59:52 miod Exp $
#
# Copyright (c) 1982, 1990 The Regents of the University of California.
# All rights reserved.
@@ -28,7 +28,7 @@
# SUCH DAMAGE.
#
# @(#)genassym.c 7.8 (Berkeley) 5/7/91
-# $Id: genassym.cf,v 1.7 2006/11/18 22:49:43 miod Exp $
+# $Id: genassym.cf,v 1.8 2007/05/12 19:59:52 miod Exp $
#
include <sys/param.h>
@@ -54,6 +54,7 @@ member p_back
member p_addr
member p_stat
member p_wchan
+member p_cpu
member P_ASTPENDING p_md.md_astpending
export SRUN
diff --git a/sys/arch/m88k/m88k/process.S b/sys/arch/m88k/m88k/process.S
index ba0a7364d39..70050662724 100644
--- a/sys/arch/m88k/m88k/process.S
+++ b/sys/arch/m88k/m88k/process.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: process.S,v 1.15 2006/11/22 22:49:02 miod Exp $ */
+/* $OpenBSD: process.S,v 1.16 2007/05/12 19:59:52 miod Exp $ */
/*
* Copyright (c) 1996 Nivas Madhur
* All rights reserved.
@@ -260,6 +260,9 @@ ASLOCAL(cpu_switch_found)
st r9, r11, CI_CURPROC /* curproc = p */
or r2, r0, SONPROC
st.b r2, r9, P_STAT
+#ifdef MULTIPROCESSOR
+ st r11, r9, P_CPU /* p->p_cpu = curcpu */
+#endif
ld r3, r9, P_ADDR
st r0, r9, P_BACK /* p->p_back = 0 */