powerpc/tm: Make room for hypervisor in abort cause codes
authorMichael Neuling <mikey@neuling.org>
Sun, 26 May 2013 18:09:37 +0000 (18:09 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Jun 2013 19:53:19 +0000 (12:53 -0700)
commit 35f7097fcedec63fcba1852dbee96f74a2d90878 upstream.

PAPR carves out 0xff-0xe0 for hypervisor use of transactional memory software
abort cause codes.  Unfortunately we don't respect this currently.

Below fixes this to move our cause codes to below this region.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/include/asm/reg.h

index c9c67fc888c93d229b23a617d0fd9c2aa7a71e79..7c5bce0da5789faa136d129f1f8dc9277f1b74dd 100644 (file)
 
 /* Reason codes describing kernel causes for transaction aborts.  By
    convention, bit0 is copied to TEXASR[56] (IBM bit 7) which is set if
-   the failure is persistent.
+   the failure is persistent.  PAPR saves 0xff-0xe0 for the hypervisor.
 */
-#define TM_CAUSE_RESCHED       0xfe
-#define TM_CAUSE_TLBI          0xfc
-#define TM_CAUSE_FAC_UNAV      0xfa
-#define TM_CAUSE_SYSCALL       0xf9 /* Persistent */
-#define TM_CAUSE_MISC          0xf6
-#define TM_CAUSE_SIGNAL                0xf4
+#define TM_CAUSE_PERSISTENT    0x01
+#define TM_CAUSE_RESCHED       0xde
+#define TM_CAUSE_TLBI          0xdc
+#define TM_CAUSE_FAC_UNAV      0xda
+#define TM_CAUSE_SYSCALL       0xd8  /* future use */
+#define TM_CAUSE_MISC          0xd6  /* future use */
+#define TM_CAUSE_SIGNAL                0xd4
 
 #if defined(CONFIG_PPC_BOOK3S_64)
 #define MSR_64BIT      MSR_SF