OSDN Git Service

rx: remove esp0.
authorYoshinori Sato <ysato@users.sourceforge.jp>
Fri, 1 Jan 2016 11:42:15 +0000 (20:42 +0900)
committerYoshinori Sato <yo-satoh@sios.com>
Fri, 28 Jan 2022 13:10:16 +0000 (22:10 +0900)
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
arch/rx/include/asm/processor.h
arch/rx/kernel/signal.c
arch/rx/kernel/traps.c

index 163c617..cde4fb3 100644 (file)
@@ -33,7 +33,6 @@ struct thread_struct {
        unsigned long  pc;
        unsigned long  sp;              /* kernel stack pointer */
        unsigned long  psw;             /* saved status register */
-       unsigned long  esp0;            /* points to SR of stack frame */
        struct {
                unsigned short *addr;
                unsigned char inst;
@@ -44,7 +43,6 @@ struct thread_struct {
        .pc = 0,                                                \
        .sp  = sizeof(init_stack) + (unsigned long)init_stack,  \
        .psw  = 0x00010000,                                     \
-       .esp0 = 0,                                              \
        .breakinfo = {                                          \
                .addr = (unsigned short *)-1,                   \
                .inst = 0                                       \
@@ -99,7 +97,8 @@ unsigned long get_wchan(struct task_struct *p);
 void show_trace(struct task_struct *tsk, unsigned long *sp,
                struct pt_regs *regs);
 
-#define task_pt_regs(tsk) ((struct pt_regs *)(tsk)->thread.esp0 - 1)
+#define task_pt_regs(tsk) \
+       ((struct pt_regs *)(task_stack_page(tsk) + THREAD_SIZE) - 1)
 #define        KSTK_EIP(tsk) (task_pt_regs(tsk)->pc)
 #define        KSTK_ESP(tsk) (task_pt_regs(tsk)->r[0])
 
index ce32d6f..60ef4e0 100644 (file)
@@ -223,8 +223,6 @@ static void do_signal(struct pt_regs *regs)
 {
        struct ksignal ksig;
 
-       current->thread.esp0 = (unsigned long) regs;
-
        if (get_signal(&ksig)) {
                /* Whee!  Actually deliver the signal.  */
                handle_signal(&ksig, regs);
index 59031fd..8aa023e 100644 (file)
@@ -251,7 +251,7 @@ void show_stack(struct task_struct *task, unsigned long *esp)
 
 void show_trace_task(struct task_struct *tsk)
 {
-       show_stack(tsk,(unsigned long *)tsk->thread.esp0);
+       show_stack(tsk,(unsigned long *)tsk->thread.sp);
 }
 
 void dump_stack(void)