Date: Mon, 16 Nov 2009 06:12:49 +0000 (UTC) From: Nathan Whitehorn <nwhitehorn@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r199313 - projects/ppc64/sys/powerpc/aim Message-ID: <200911160612.nAG6Cnw4059900@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911160612.nAG6Cnw4059900>