Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d30a5a52 authored by Michael Ellerman's avatar Michael Ellerman
Browse files

powerpc/traps: Use SRR1 defines for program check reasons



Currently we open code the reason codes for program checks. Instead use
the existing SRR1 defines.

Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent ccd3cd36
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -724,6 +724,7 @@
					  * may not be recoverable */
#define	  SRR1_WS_DEEPER	0x00020000 /* Some resources not maintained */
#define	  SRR1_WS_DEEP		0x00010000 /* All resources maintained */
#define   SRR1_PROGTM		0x00200000 /* TM Bad Thing */
#define   SRR1_PROGFPE		0x00100000 /* Floating Point Enabled */
#define   SRR1_PROGILL		0x00080000 /* Illegal instruction */
#define   SRR1_PROGPRIV		0x00040000 /* Privileged instruction */
+5 −5
Original line number Diff line number Diff line
@@ -379,11 +379,11 @@ static inline int check_io_access(struct pt_regs *regs)
/* On non-4xx, the reason for the machine check or program
   exception is in the MSR. */
#define get_reason(regs)	((regs)->msr)
#define REASON_TM		0x200000
#define REASON_FP		0x100000
#define REASON_ILLEGAL		0x80000
#define REASON_PRIVILEGED	0x40000
#define REASON_TRAP		0x20000
#define REASON_TM		SRR1_PROGTM
#define REASON_FP		SRR1_PROGFPE
#define REASON_ILLEGAL		SRR1_PROGILL
#define REASON_PRIVILEGED	SRR1_PROGPRIV
#define REASON_TRAP		SRR1_PROGTRAP

#define single_stepping(regs)	((regs)->msr & MSR_SE)
#define clear_single_step(regs)	((regs)->msr &= ~MSR_SE)