summary refs log tree commit diff
path: root/arch/arm/include
diff options
context:
space:
mode:
authorJamie Iles <jamie.iles@picochip.com>2010-01-06 10:50:08 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-01-08 16:14:21 +0000
commit092a4e957a835cbf6b2ec82a6a4d6ff06c0a362e (patch)
treec22d005f4268be3553029ae258a68d910e62c28e /arch/arm/include
parent8784895ede9a39cfecf76fe26b090a602877f70f (diff)
downloadlinux-092a4e957a835cbf6b2ec82a6a4d6ff06c0a362e.tar.gz
ARM: 5866/1: arm ptrace: use unsigned types for kernel pt_regs
Make registers unsigned for kernel space. This is important for
example in the perf events where the PC is stored into a u64. We
don't want it sign extended so make the regs unsigned to prevent
casts throughout the kernel.

Signed-off-by: Jamie Iles <jamie.iles@picochip.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/include')
-rw-r--r--arch/arm/include/asm/ptrace.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/include/asm/ptrace.h b/arch/arm/include/asm/ptrace.h
index bbecccda76d0..eec6e897ceb2 100644
--- a/arch/arm/include/asm/ptrace.h
+++ b/arch/arm/include/asm/ptrace.h
@@ -97,9 +97,15 @@
  * stack during a system call.  Note that sizeof(struct pt_regs)
  * has to be a multiple of 8.
  */
+#ifndef __KERNEL__
 struct pt_regs {
 	long uregs[18];
 };
+#else /* __KERNEL__ */
+struct pt_regs {
+	unsigned long uregs[18];
+};
+#endif /* __KERNEL__ */
 
 #define ARM_cpsr	uregs[16]
 #define ARM_pc		uregs[15]