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