svn commit: r199313 - projects/ppc64/sys/powerpc/aim
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Mon Nov 16 06:12:50 UTC 2009
Author: nwhitehorn
Date: Mon Nov 16 06:12:49 2009
New Revision: 199313
URL: http://svn.freebsd.org/changeset/base/199313
Log:
Fix AST delivery -- td_flags is a 32-bit quantity. There is still a
strange bug where the first time the userland thread is switched out,
it is never again switched back in.
Modified:
projects/ppc64/sys/powerpc/aim/trap_subr64.S
Modified: projects/ppc64/sys/powerpc/aim/trap_subr64.S
==============================================================================
--- projects/ppc64/sys/powerpc/aim/trap_subr64.S Mon Nov 16 06:10:24 2009 (r199312)
+++ projects/ppc64/sys/powerpc/aim/trap_subr64.S Mon Nov 16 06:12:49 2009 (r199313)
@@ -492,13 +492,13 @@ CNAME(trapexit):
andi. %r3,%r3,~PSL_EE at l
mtmsr %r3
/* Test AST pending: */
- ld %r5,FRAME_SRR1+8(%r1)
+ ld %r5,FRAME_SRR1+48(%r1)
mtcr %r5
bf 17,1f /* branch if PSL_PR is false */
GET_CPUINFO(%r3) /* get per-CPU pointer */
ld %r4, PC_CURTHREAD(%r3) /* deref to get curthread */
- ld %r4, TD_FLAGS(%r4) /* get thread flags value */
+ lwz %r4, TD_FLAGS(%r4) /* get thread flags value */
lis %r5, (TDF_ASTPENDING|TDF_NEEDRESCHED)@h
ori %r5,%r5, (TDF_ASTPENDING|TDF_NEEDRESCHED)@l
and. %r4,%r4,%r5
More information about the svn-src-projects
mailing list