powerpc/tm: Add checking to treclaim/trechkpt
authorMichael Neuling <mikey@neuling.org>
Fri, 28 Mar 2014 05:40:34 +0000 (16:40 +1100)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 28 Apr 2014 07:36:51 +0000 (17:36 +1000)
commit7f06f21d40a638e1ca759ceda0f21cd81082607e
tree98367966915e49126bc05e0ae1797a986550e93b
parentce0ac1fc326b6a4116728be933ff46d75269baa1
powerpc/tm: Add checking to treclaim/trechkpt

If we do a treclaim and we are not in TM suspend mode, it results in a TM bad
thing (ie. a 0x700 program check).  Similarly if we do a trechkpt and we have
an active transaction or TEXASR Failure Summary (FS) is not set, we also take a
TM bad thing.

This should never happen, but if it does (ie. a kernel bug), the cause is
almost impossible to debug as the GPR state is mostly userspace and hence we
don't get a call chain.

This adds some checks in these cases case a BUG_ON() (in asm) in case we ever
hit these cases.  It moves the register saving around to preserve r1 till later
also.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/reg.h
arch/powerpc/kernel/tm.S