arm: optimized current_pt_regs()
[linux-2.6-microblaze.git] / arch / arm / include / asm / ptrace.h
index 355ece5..44fe998 100644 (file)
@@ -254,6 +254,11 @@ static inline unsigned long user_stack_pointer(struct pt_regs *regs)
        return regs->ARM_sp;
 }
 
+#define current_pt_regs(void) ({                               \
+       register unsigned long sp asm ("sp");                   \
+       (struct pt_regs *)((sp | (THREAD_SIZE - 1)) - 7) - 1;   \
+})
+
 #endif /* __KERNEL__ */
 
 #endif /* __ASSEMBLY__ */