Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Apr 2011 13:24:27 +0000 (UTC)
From:      Nathan Whitehorn <nwhitehorn@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r220597 - head/sys/powerpc/powerpc
Message-ID:  <201104131324.p3DDORFj088036@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: nwhitehorn
Date: Wed Apr 13 13:24:27 2011
New Revision: 220597
URL: http://svn.freebsd.org/changeset/base/220597

Log:
  Make sure that extra threads in 32-bit processes stay in 32-bit mode. This
  fixes operation of threaded 32-bit binaries on 64-bit kernels.

Modified:
  head/sys/powerpc/powerpc/exec_machdep.c

Modified: head/sys/powerpc/powerpc/exec_machdep.c
==============================================================================
--- head/sys/powerpc/powerpc/exec_machdep.c	Wed Apr 13 13:05:48 2011	(r220596)
+++ head/sys/powerpc/powerpc/exec_machdep.c	Wed Apr 13 13:24:27 2011	(r220597)
@@ -1015,6 +1015,9 @@ cpu_set_upcall_kse(struct thread *td, vo
 		tf->srr0 = (register_t)entry;
 	    #ifdef AIM
 		tf->srr1 = PSL_MBO | PSL_USERSET | PSL_FE_DFLT;
+		#ifdef __powerpc64__
+		tf->srr1 &= ~PSL_SF;
+		#endif
 	    #else
 		tf->srr1 = PSL_USERSET;
 	    #endif



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104131324.p3DDORFj088036>