patch-2.2.18 linux/include/asm-arm/proc-armv/ptrace.h
Next file: linux/include/asm-arm/proc-armv/semaphore.h
Previous file: linux/include/asm-arm/proc-armv/processor.h
Back to the patch index
Back to the overall index
- Lines: 95
- Date:
Fri Sep 15 23:32:34 2000
- Orig file:
v2.2.17/include/asm-arm/proc-armv/ptrace.h
- Orig date:
Fri Apr 21 12:46:49 2000
diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.17/include/asm-arm/proc-armv/ptrace.h linux/include/asm-arm/proc-armv/ptrace.h
@@ -1,12 +1,33 @@
/*
* linux/include/asm-arm/proc-armv/ptrace.h
*
- * Copyright (C) 1996 Russell King
+ * Copyright (C) 1996-1999 Russell King
*/
-
#ifndef __ASM_PROC_PTRACE_H
#define __ASM_PROC_PTRACE_H
+#define USR26_MODE 0x00
+#define FIQ26_MODE 0x01
+#define IRQ26_MODE 0x02
+#define SVC26_MODE 0x03
+#define USR_MODE 0x10
+#define FIQ_MODE 0x11
+#define IRQ_MODE 0x12
+#define SVC_MODE 0x13
+#define ABT_MODE 0x17
+#define UND_MODE 0x1b
+#define SYSTEM_MODE 0x1f
+#define MODE_MASK 0x1f
+#define F_BIT 0x40
+#define I_BIT 0x80
+#define CC_V_BIT (1 << 28)
+#define CC_C_BIT (1 << 29)
+#define CC_Z_BIT (1 << 30)
+#define CC_N_BIT (1 << 31)
+#define PCMASK 0
+
+#ifndef __ASSEMBLY__
+
/* this struct defines the way the registers are stored on the
stack during a system call. */
@@ -31,35 +52,12 @@
#define ARM_r2 uregs[2]
#define ARM_r1 uregs[1]
#define ARM_r0 uregs[0]
-#define ARM_ORIG_r0 uregs[17] /* -1 */
+#define ARM_ORIG_r0 uregs[17]
-#define USR26_MODE 0x00
-#define FIQ26_MODE 0x01
-#define IRQ26_MODE 0x02
-#define SVC26_MODE 0x03
-#define USR_MODE 0x10
-#define FIQ_MODE 0x11
-#define IRQ_MODE 0x12
-#define SVC_MODE 0x13
-#define ABT_MODE 0x17
-#define UND_MODE 0x1b
-#define SYSTEM_MODE 0x1f
-#define MODE_MASK 0x1f
-#define F_BIT 0x40
-#define I_BIT 0x80
-#define CC_V_BIT (1 << 28)
-#define CC_C_BIT (1 << 29)
-#define CC_Z_BIT (1 << 30)
-#define CC_N_BIT (1 << 31)
+#ifdef __KERNEL__
-#if 0 /* GCC/egcs should be able to optimise this, IMHO */
-#define user_mode(regs) \
- ((((regs)->ARM_cpsr & MODE_MASK) == USR_MODE) || \
- (((regs)->ARM_cpsr & MODE_MASK) == USR26_MODE))
-#else
#define user_mode(regs) \
(((regs)->ARM_cpsr & 0xf) == 0)
-#endif
#define processor_mode(regs) \
((regs)->ARM_cpsr & MODE_MASK)
@@ -81,8 +79,8 @@
*/
static inline int valid_user_regs(struct pt_regs *regs)
{
- if ((regs->ARM_cpsr & 0xf) == 0 ||
- (regs->ARM_cpsr & (F_BIT|I_BIT)))
+ if ((regs->ARM_cpsr & 0xf) == 0 &&
+ (regs->ARM_cpsr & (F_BIT|I_BIT)) == 0)
return 1;
/*
@@ -93,5 +91,8 @@
return 0;
}
-#endif
+#endif /* __KERNEL__ */
+#endif /* __ASSEMBLY__ */
+
+#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)