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.
Unified · Split
| @@ -113,14 +113,15 @@ · 112 unmodified lines | ||
| 113 | 113 | |
| 114 | 114 | /* Reason codes describing kernel causes for transaction aborts. By |
| 115 | 115 | convention, bit0 is copied to TEXASR[56] (IBM bit 7) which is set if |
| 116 | − the failure is persistent. | |
| 116 | + the failure is persistent. PAPR saves 0xff-0xe0 for the hypervisor. | |
| 117 | 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 | −#define TM_CAUSE_SIGNAL 0xf4 | |
| 118 | +#define TM_CAUSE_PERSISTENT 0x01 | |
| 119 | +#define TM_CAUSE_RESCHED 0xde | |
| 120 | +#define TM_CAUSE_TLBI 0xdc | |
| 121 | +#define TM_CAUSE_FAC_UNAV 0xda | |
| 122 | +#define TM_CAUSE_SYSCALL 0xd8 /* future use */ | |
| 123 | +#define TM_CAUSE_MISC 0xd6 /* future use */ | |
| 124 | +#define TM_CAUSE_SIGNAL 0xd4 | |
| 124 | 125 | |
| 125 | 126 | #if defined(CONFIG_PPC_BOOK3S_64) |
| 126 | 127 | #define MSR_64BIT MSR_SF |