Paul Mackerras 3ac8ff1c47 powerpc: Fix transactional FP/VMX/VSX unavailable handlers
Currently, if a process starts a transaction and then takes an
exception because the FPU, VMX or VSX unit is unavailable to it,
we end up corrupting any FP/VMX/VSX state that was valid before
the interrupt.  For example, if the process starts a transaction
with the FPU available to it but VMX unavailable, and then does
a VMX instruction inside the transaction, the FP state gets
corrupted.

Loading up the desired state generally involves doing a reclaim
and a recheckpoint.  To avoid corrupting already-valid state, we have
to be careful not to reload that state from the thread_struct
between the reclaim and the recheckpoint (since the thread_struct
values are stale by now), and we have to reload that state from
the transact_fp/vr arrays after the recheckpoint to get back the
current transactional values saved there by the reclaim.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2014-01-15 13:59:14 +11:00
..
2014-01-15 13:58:29 +11:00
2013-11-21 10:33:36 +11:00
2014-01-15 13:58:29 +11:00
2013-10-11 16:53:26 +11:00
2011-03-31 11:26:23 -03:00
2013-12-30 15:19:31 +11:00
2013-10-11 18:23:53 +11:00
2011-03-31 11:26:23 -03:00
2013-08-14 15:33:22 +10:00
2013-12-30 15:19:31 +11:00
2010-07-19 10:56:54 +02:00
2011-03-31 11:26:23 -03:00
2012-03-28 18:30:02 +01:00
2014-01-15 13:59:03 +11:00