]> err.no Git - linux-2.6/commitdiff
sh: KSTK_EIP/KSTK_ESP consistency.
authorStuart Menefy <stuart.menefy@st.com>
Fri, 24 Nov 2006 03:53:02 +0000 (12:53 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Wed, 6 Dec 2006 01:45:38 +0000 (10:45 +0900)
Two of the fields in /proc/[number]/stat are documented in
proc(5) as:

      kstkesp %lu
     The current value of esp (stack pointer), as
     found in the kernel stack page for the process.

      kstkeip %lu
     The current EIP (instruction pointer).

The SH currently prints the the last SP and PC of the process
inside the kernel, while most other archs use the last user
space values.

This patch modifes the SH to display the user space values.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
include/asm-sh/processor.h

index 4a90e7cd81992faa0c37bcdb56d8e8027d59819a..6f1dd7ca1b1d68515bab5f3ebaa08efd1275fbd5 100644 (file)
@@ -259,8 +259,8 @@ void show_trace(struct task_struct *tsk, unsigned long *sp,
                struct pt_regs *regs);
 extern unsigned long get_wchan(struct task_struct *p);
 
-#define KSTK_EIP(tsk)  ((tsk)->thread.pc)
-#define KSTK_ESP(tsk)  ((tsk)->thread.sp)
+#define KSTK_EIP(tsk)  (task_pt_regs(tsk)->pc)
+#define KSTK_ESP(tsk)  (task_pt_regs(tsk)->regs[15])
 
 #define cpu_sleep()    __asm__ __volatile__ ("sleep" : : : "memory")
 #define cpu_relax()    barrier()