summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorZong Li <zong@andestech.com>2018-08-20 09:51:29 +0800
committerGreentime Hu <greentime@andestech.com>2018-09-04 14:45:19 +0800
commit95f93ed7fe92c16f5346e477491d91e4fa8e92b8 (patch)
tree3d7c4ca31e12eb4e3ad3e369154102196e3bf081 /arch
parentc5fdf7e00d490dc094a97d287e0fa27e253cca84 (diff)
downloadlinux-95f93ed7fe92c16f5346e477491d91e4fa8e92b8.tar.gz
linux-95f93ed7fe92c16f5346e477491d91e4fa8e92b8.tar.bz2
linux-95f93ed7fe92c16f5346e477491d91e4fa8e92b8.zip
nds32: Add macro definition for offset of lp register on stack
Use macro to replace the magic number. Signed-off-by: Zong Li <zong@andestech.com> Acked-by: Greentime Hu <greentime@andestech.com> Signed-off-by: Greentime Hu <greentime@andestech.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/nds32/include/asm/nds32.h1
-rw-r--r--arch/nds32/kernel/stacktrace.c2
-rw-r--r--arch/nds32/kernel/traps.c2
3 files changed, 3 insertions, 2 deletions
diff --git a/arch/nds32/include/asm/nds32.h b/arch/nds32/include/asm/nds32.h
index 19b19394a936..68c38151c3e4 100644
--- a/arch/nds32/include/asm/nds32.h
+++ b/arch/nds32/include/asm/nds32.h
@@ -17,6 +17,7 @@
#else
#define FP_OFFSET (-2)
#endif
+#define LP_OFFSET (-1)
extern void __init early_trap_init(void);
static inline void GIE_ENABLE(void)
diff --git a/arch/nds32/kernel/stacktrace.c b/arch/nds32/kernel/stacktrace.c
index 36bc87003e83..d974c0c1c65f 100644
--- a/arch/nds32/kernel/stacktrace.c
+++ b/arch/nds32/kernel/stacktrace.c
@@ -31,7 +31,7 @@ void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
&& (fpn >= (unsigned long *)TASK_SIZE)) {
unsigned long lpp, fpp;
- lpp = fpn[-1];
+ lpp = fpn[LP_OFFSET];
fpp = fpn[FP_OFFSET];
if (!__kernel_text_address(lpp))
break;
diff --git a/arch/nds32/kernel/traps.c b/arch/nds32/kernel/traps.c
index f432310f3d02..b0b85b7ab079 100644
--- a/arch/nds32/kernel/traps.c
+++ b/arch/nds32/kernel/traps.c
@@ -117,7 +117,7 @@ static void __dump(struct task_struct *tsk, unsigned long *base_reg)
!((unsigned long)base_reg & 0x3) &&
((unsigned long)base_reg >= TASK_SIZE)) {
unsigned long next_fp;
- ret_addr = base_reg[-1];
+ ret_addr = base_reg[LP_OFFSET];
next_fp = base_reg[FP_OFFSET];
if (__kernel_text_address(ret_addr)) {