Remove the deprecated ABI implementation
cover Remove the deprecated ABI implementation
This patches remove the implementation of NDS32_ABI_2 and replace the magic number of offset of lp on stack.
In stacktrace.c, we dump the stack without considering the old ABI, it should be consistent in traps.c.
Zong Li (2):
nds32: Remove the deprecated ABI implementation
nds32: Add macro definition for offset of lp register on stack
arch/nds32/include/asm/nds32.h | 1 + arch/nds32/kernel/stacktrace.c | 2 +- arch/nds32/kernel/traps.c | 7 +------ 3 files changed, 3 insertions(+), 7 deletions(-)
Signature · 1 line
2.7.4
PATCH 1/2 nds32: Remove the deprecated ABI implementation
We are not using NDS32 ABI 2 for now, just remove the preprocessor directives __NDS32_ABI_2.
--- arch/nds32/kernel/traps.c | 5 ----- 1 file changed, 5 deletions(-)
arch/nds32/kernel/traps.c +0 -5
@@ -117,13 +117,8 @@ 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; -#if !defined(__NDS32_ABI_2) - ret_addr = base_reg[0 ]; - next_fp = base_reg[1 ]; -#else ret_addr = base_reg[-1 ]; next_fp = base_reg[FP_OFFSET ]; -#endif if (__kernel_text_address (ret_addr)) { ret_addr = ftrace_graph_ret_addr(
Signature · 1 line
2.7.4
PATCH 2/2 nds32: Add macro definition for offset of lp register on stack
In reply to Zong LiUse macro to replace the magic number.
--- arch/nds32/include/asm/nds32.h | 1 + arch/nds32/kernel/stacktrace.c | 2 +- arch/nds32/kernel/traps.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-)
arch/nds32/include/asm/nds32.h +1 -0
@@ -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 )
arch/nds32/kernel/stacktrace.c +1 -1
@@ -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 ;
arch/nds32/kernel/traps.c +1 -1
@@ -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)) {
Signature · 1 line
2.7.4
Zong Li <[email protected]> 於 2018年8月20日 週一 上午10:15寫道:
Quoted 7 lines
This patches remove the implementation of
NDS32_ABI_2and replace the magic number of offset of lp on stack.In
stacktrace.c, we dump the stack without considering the old ABI, it should be consistent intraps.c.
Quoted 8 lines
Zong Li (2):
nds32: Remove the deprecated ABI implementation
nds32: Add macro definition for offset of lp register on stackarch/nds32/include/asm/nds32.h | 1 + arch/nds32/kernel/stacktrace.c | 2 +- arch/nds32/kernel/traps.c | 7 +------ 3 files changed, 3 insertions(+), 7 deletions(-)