]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r261095,r263464,r263752,r264189
authorjhibbits <jhibbits@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 5 Sep 2014 15:13:41 +0000 (15:13 +0000)
committerjhibbits <jhibbits@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 5 Sep 2014 15:13:41 +0000 (15:13 +0000)
commit133068a964322776fc8864219977288ba9f0f2d9
tree4022e2e21563c8f565e845f914a25c8dfd0d1d75
parentd164e3012e5d4a1f4b781904d48678246297e544
MFC r261095,r263464,r263752,r264189

r263464,r263752,r275189:

Mask out SRR1 bits that aren't exported to the MSR.

This appears to fix a strange condition with X on 32-bit PowerBooks I
observed, caused by one of these bits getting set in the mcontext, but
not set in the thread, which is a symptom of another problem, more
difficult to diagnose.  Since these bits aren't exported anyway, this
change makes it more explicit that the bits aren't MSR-related in SRR1.

r261095:

Fix 32-bit signal handling on ppc64.  This was broken when the
PSL_USERSTATIC macro was changed.  Since copying 64-bit srr1 into
32-bit srr1 drops the upper 32 bits, any bits set in the context were
dropped, meaning the context check fails.  Since 32-bit set_context()
can't change those bits anyway, copy the ones from the current context
(td->td_frame) before calling set_context().

Approved by: re
Relnotes: yes (Affects 10-stable, but not 10.0-release)

git-svn-id: svn://svn.freebsd.org/base/stable/10@271171 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/powerpc/include/psl.h
sys/powerpc/powerpc/exec_machdep.c