Module Name: src
Committed By: kiyohara
Date: Sat Feb 9 11:22:51 UTC 2013
Modified Files:
src/sys/arch/powerpc/ibm4xx: trap_subr.S
Log Message:
Fix KASSERT(l == curlwp)ed in mi_switch(). Don't use INTSTK of cpu_info in
INTR_PROLOG when user-mode. Interrupted user context switches to newlwp, if
sched tick. This context must save to USPACE.
When use our INTSTK?
To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/powerpc/ibm4xx/trap_subr.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/powerpc/ibm4xx/trap_subr.S
diff -u src/sys/arch/powerpc/ibm4xx/trap_subr.S:1.23 src/sys/arch/powerpc/ibm4xx/trap_subr.S:1.24
--- src/sys/arch/powerpc/ibm4xx/trap_subr.S:1.23 Tue Jan 29 15:33:44 2013
+++ src/sys/arch/powerpc/ibm4xx/trap_subr.S Sat Feb 9 11:22:51 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: trap_subr.S,v 1.23 2013/01/29 15:33:44 kiyohara Exp $ */
+/* $NetBSD: trap_subr.S,v 1.24 2013/02/09 11:22:51 kiyohara Exp $ */
/*
* Copyright 2001 Wasabi Systems, Inc.
@@ -166,9 +166,10 @@ _C_LABEL(name ## size) = .-_C_LABEL(name
mfxer %r30; /* save XER */ \
mfsrr1 %r31; \
mtcr %r31; \
- lwz %r1,CI_INTSTK(%r1); /* get intstk */ \
- bt MSR_PR,1f; /* branch if PSL_PR is true */ \
- mfsprg1 %r1; /* yes, get old SP */ \
+ mfsprg1 %r1; /* restore SP */ \
+ bf MSR_PR,1f; /* branch if PSL_PR is false */ \
+ GET_PCB(%r1); \
+ addi %r1,%r1,USPACE-CALLFRAMELEN; /* stack is top of user struct */ \
1:
/*