diff options
| -rw-r--r-- | arch/powerpc/include/asm/reg.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h index e09ac51961d7..7844c285f6e1 100644 --- a/arch/powerpc/include/asm/reg.h +++ b/arch/powerpc/include/asm/reg.h | |||
| @@ -29,6 +29,10 @@ | |||
| 29 | #define MSR_SF_LG 63 /* Enable 64 bit mode */ | 29 | #define MSR_SF_LG 63 /* Enable 64 bit mode */ |
| 30 | #define MSR_ISF_LG 61 /* Interrupt 64b mode valid on 630 */ | 30 | #define MSR_ISF_LG 61 /* Interrupt 64b mode valid on 630 */ |
| 31 | #define MSR_HV_LG 60 /* Hypervisor state */ | 31 | #define MSR_HV_LG 60 /* Hypervisor state */ |
| 32 | #define MSR_TS_T_LG 34 /* Trans Mem state: Transactional */ | ||
| 33 | #define MSR_TS_S_LG 33 /* Trans Mem state: Suspended */ | ||
| 34 | #define MSR_TS_LG 33 /* Trans Mem state (2 bits) */ | ||
| 35 | #define MSR_TM_LG 32 /* Trans Mem Available */ | ||
| 32 | #define MSR_VEC_LG 25 /* Enable AltiVec */ | 36 | #define MSR_VEC_LG 25 /* Enable AltiVec */ |
| 33 | #define MSR_VSX_LG 23 /* Enable VSX */ | 37 | #define MSR_VSX_LG 23 /* Enable VSX */ |
| 34 | #define MSR_POW_LG 18 /* Enable Power Management */ | 38 | #define MSR_POW_LG 18 /* Enable Power Management */ |
| @@ -98,6 +102,25 @@ | |||
| 98 | #define MSR_RI __MASK(MSR_RI_LG) /* Recoverable Exception */ | 102 | #define MSR_RI __MASK(MSR_RI_LG) /* Recoverable Exception */ |
| 99 | #define MSR_LE __MASK(MSR_LE_LG) /* Little Endian */ | 103 | #define MSR_LE __MASK(MSR_LE_LG) /* Little Endian */ |
| 100 | 104 | ||
| 105 | #define MSR_TM __MASK(MSR_TM_LG) /* Transactional Mem Available */ | ||
| 106 | #define MSR_TS_N 0 /* Non-transactional */ | ||
| 107 | #define MSR_TS_S __MASK(MSR_TS_S_LG) /* Transaction Suspended */ | ||
| 108 | #define MSR_TS_T __MASK(MSR_TS_T_LG) /* Transaction Transactional */ | ||
| 109 | #define MSR_TS_MASK (MSR_TS_T | MSR_TS_S) /* Transaction State bits */ | ||
| 110 | #define MSR_TM_ACTIVE(x) (((x) & MSR_TS_MASK) != 0) /* Transaction active? */ | ||
| 111 | #define MSR_TM_TRANSACTIONAL(x) (((x) & MSR_TS_MASK) == MSR_TS_T) | ||
| 112 | #define MSR_TM_SUSPENDED(x) (((x) & MSR_TS_MASK) == MSR_TS_S) | ||
| 113 | |||
| 114 | /* Reason codes describing kernel causes for transaction aborts. By | ||
| 115 | convention, bit0 is copied to TEXASR[56] (IBM bit 7) which is set if | ||
| 116 | the failure is persistent. | ||
| 117 | */ | ||
| 118 | #define TM_CAUSE_RESCHED 0xfe | ||
| 119 | #define TM_CAUSE_TLBI 0xfc | ||
| 120 | #define TM_CAUSE_FAC_UNAV 0xfa | ||
| 121 | #define TM_CAUSE_SYSCALL 0xf9 /* Persistent */ | ||
| 122 | #define TM_CAUSE_MISC 0xf6 | ||
| 123 | |||
| 101 | #if defined(CONFIG_PPC_BOOK3S_64) | 124 | #if defined(CONFIG_PPC_BOOK3S_64) |
| 102 | #define MSR_64BIT MSR_SF | 125 | #define MSR_64BIT MSR_SF |
| 103 | 126 | ||
| @@ -193,6 +216,10 @@ | |||
| 193 | #define SPRN_UAMOR 0x9d /* User Authority Mask Override Register */ | 216 | #define SPRN_UAMOR 0x9d /* User Authority Mask Override Register */ |
| 194 | #define SPRN_AMOR 0x15d /* Authority Mask Override Register */ | 217 | #define SPRN_AMOR 0x15d /* Authority Mask Override Register */ |
| 195 | #define SPRN_ACOP 0x1F /* Available Coprocessor Register */ | 218 | #define SPRN_ACOP 0x1F /* Available Coprocessor Register */ |
| 219 | #define SPRN_TFIAR 0x81 /* Transaction Failure Inst Addr */ | ||
| 220 | #define SPRN_TEXASR 0x82 /* Transaction EXception & Summary */ | ||
| 221 | #define SPRN_TEXASRU 0x83 /* '' '' '' Upper 32 */ | ||
| 222 | #define SPRN_TFHAR 0x80 /* Transaction Failure Handler Addr */ | ||
| 196 | #define SPRN_CTRLF 0x088 | 223 | #define SPRN_CTRLF 0x088 |
| 197 | #define SPRN_CTRLT 0x098 | 224 | #define SPRN_CTRLT 0x098 |
| 198 | #define CTRL_CT 0xc0000000 /* current thread */ | 225 | #define CTRL_CT 0xc0000000 /* current thread */ |
