diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arc/include/asm/processor.h | 9 | ||||
| -rw-r--r-- | arch/arc/kernel/stacktrace.c | 6 | 
2 files changed, 8 insertions, 7 deletions
| diff --git a/arch/arc/include/asm/processor.h b/arch/arc/include/asm/processor.h index 4e547296831d..88398caa3989 100644 --- a/arch/arc/include/asm/processor.h +++ b/arch/arc/include/asm/processor.h @@ -72,18 +72,19 @@ unsigned long thread_saved_pc(struct task_struct *t);  #define release_segments(mm)        do { } while (0)  #define KSTK_EIP(tsk)   (task_pt_regs(tsk)->ret) +#define KSTK_ESP(tsk)   (task_pt_regs(tsk)->sp)  /*   * Where abouts of Task's sp, fp, blink when it was last seen in kernel mode.   * Look in process.c for details of kernel stack layout   */ -#define KSTK_ESP(tsk)   (tsk->thread.ksp) +#define TSK_K_ESP(tsk)		(tsk->thread.ksp) -#define KSTK_REG(tsk, off)	(*((unsigned int *)(KSTK_ESP(tsk) + \ +#define TSK_K_REG(tsk, off)	(*((unsigned int *)(TSK_K_ESP(tsk) + \  					sizeof(struct callee_regs) + off))) -#define KSTK_BLINK(tsk) KSTK_REG(tsk, 4) -#define KSTK_FP(tsk)    KSTK_REG(tsk, 0) +#define TSK_K_BLINK(tsk)	TSK_K_REG(tsk, 4) +#define TSK_K_FP(tsk)		TSK_K_REG(tsk, 0)  extern void start_thread(struct pt_regs * regs, unsigned long pc,  			 unsigned long usp); diff --git a/arch/arc/kernel/stacktrace.c b/arch/arc/kernel/stacktrace.c index 6492507a3d74..92320d6f737c 100644 --- a/arch/arc/kernel/stacktrace.c +++ b/arch/arc/kernel/stacktrace.c @@ -73,9 +73,9 @@ static void seed_unwind_frame_info(struct task_struct *tsk,  		frame_info->task = tsk; -		frame_info->regs.r27 = KSTK_FP(tsk); -		frame_info->regs.r28 = KSTK_ESP(tsk); -		frame_info->regs.r31 = KSTK_BLINK(tsk); +		frame_info->regs.r27 = TSK_K_FP(tsk); +		frame_info->regs.r28 = TSK_K_ESP(tsk); +		frame_info->regs.r31 = TSK_K_BLINK(tsk);  		frame_info->regs.r63 = (unsigned int)__switch_to;  		/* In the prologue of __switch_to, first FP is saved on stack | 
