This is an automated email from the ASF dual-hosted git repository. aguettouche pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit 924ba8473770eae5e2edb9631724fc80397ce49e Author: Xiang Xiao <xiaoxi...@xiaomi.com> AuthorDate: Thu Jul 9 03:05:56 2020 +0800 arch: call *_getsp in up_assert and board_crashdump and remove the static up_getsp Signed-off-by: Xiang Xiao <xiaoxi...@xiaomi.com> --- arch/arm/src/arm/arm_assert.c | 21 ++------------------- arch/arm/src/armv6-m/arm_assert.c | 21 ++------------------- arch/arm/src/armv7-a/arm_assert.c | 21 ++------------------- arch/arm/src/armv7-m/arm_assert.c | 21 ++------------------- arch/arm/src/armv7-r/arm_assert.c | 21 ++------------------- arch/arm/src/armv8-m/arm_assert.c | 21 ++------------------- arch/hc/src/m9s12/m9s12_assert.c | 4 ++-- arch/mips/src/mips32/mips_assert.c | 2 +- arch/mips/src/mips32/mips_dumpstate.c | 19 +------------------ arch/misoc/src/lm32/lm32_assert.c | 2 +- arch/misoc/src/lm32/lm32_dumpstate.c | 27 +++++++++------------------ arch/misoc/src/minerva/minerva_assert.c | 2 +- arch/misoc/src/minerva/minerva_dumpstate.c | 27 +++++++++------------------ arch/or1k/src/common/up_assert.c | 27 ++------------------------- arch/xtensa/src/common/xtensa_assert.c | 2 +- 15 files changed, 39 insertions(+), 199 deletions(-) diff --git a/arch/arm/src/arm/arm_assert.c b/arch/arm/src/arm/arm_assert.c index fdd9b3e..f34f47c 100644 --- a/arch/arm/src/arm/arm_assert.c +++ b/arch/arm/src/arm/arm_assert.c @@ -85,23 +85,6 @@ static uint32_t s_last_regs[XCPTCONTEXT_REGS]; ****************************************************************************/ /**************************************************************************** - * Name: up_getsp - ****************************************************************************/ - -/* I don't know if the builtin to get SP is enabled */ - -static inline uint32_t up_getsp(void) -{ - uint32_t sp; - __asm__ - ( - "\tmov %0, sp\n\t" - : "=r"(sp) - ); - return sp; -} - -/**************************************************************************** * Name: up_stackdump ****************************************************************************/ @@ -190,7 +173,7 @@ static int assert_tracecallback(FAR struct usbtrace_s *trace, FAR void *arg) static void up_dumpstate(void) { struct tcb_s *rtcb = running_task(); - uint32_t sp = up_getsp(); + uint32_t sp = arm_getsp(); uint32_t ustackbase; uint32_t ustacksize; #if CONFIG_ARCH_INTERRUPTSTACK > 3 @@ -369,7 +352,7 @@ void up_assert(const uint8_t *filename, int lineno) syslog_flush(); #ifdef CONFIG_BOARD_CRASHDUMP - board_crashdump(up_getsp(), running_task(), filename, lineno); + board_crashdump(arm_getsp(), running_task(), filename, lineno); #endif _up_assert(EXIT_FAILURE); diff --git a/arch/arm/src/armv6-m/arm_assert.c b/arch/arm/src/armv6-m/arm_assert.c index 4ba020c..c8bd7d3 100644 --- a/arch/arm/src/armv6-m/arm_assert.c +++ b/arch/arm/src/armv6-m/arm_assert.c @@ -83,23 +83,6 @@ static uint32_t s_last_regs[XCPTCONTEXT_REGS]; ****************************************************************************/ /**************************************************************************** - * Name: up_getsp - ****************************************************************************/ - -/* I don't know if the builtin to get SP is enabled */ - -static inline uint32_t up_getsp(void) -{ - uint32_t sp; - __asm__ - ( - "\tmov %0, sp\n\t" - : "=r"(sp) - ); - return sp; -} - -/**************************************************************************** * Name: up_stackdump ****************************************************************************/ @@ -227,7 +210,7 @@ static int assert_tracecallback(FAR struct usbtrace_s *trace, FAR void *arg) static void up_dumpstate(void) { struct tcb_s *rtcb = running_task(); - uint32_t sp = up_getsp(); + uint32_t sp = arm_getsp(); uint32_t ustackbase; uint32_t ustacksize; #if CONFIG_ARCH_INTERRUPTSTACK > 3 @@ -426,7 +409,7 @@ void up_assert(const uint8_t *filename, int lineno) syslog_flush(); #ifdef CONFIG_BOARD_CRASHDUMP - board_crashdump(up_getsp(), running_task(), filename, lineno); + board_crashdump(arm_getsp(), running_task(), filename, lineno); #endif _up_assert(EXIT_FAILURE); diff --git a/arch/arm/src/armv7-a/arm_assert.c b/arch/arm/src/armv7-a/arm_assert.c index 4d55d4e..b4cb872 100644 --- a/arch/arm/src/armv7-a/arm_assert.c +++ b/arch/arm/src/armv7-a/arm_assert.c @@ -71,23 +71,6 @@ static uint32_t s_last_regs[XCPTCONTEXT_REGS]; ****************************************************************************/ /**************************************************************************** - * Name: up_getsp - ****************************************************************************/ - -/* I don't know if the builtin to get SP is enabled */ - -static inline uint32_t up_getsp(void) -{ - uint32_t sp; - __asm__ - ( - "\tmov %0, sp\n\t" - : "=r"(sp) - ); - return sp; -} - -/**************************************************************************** * Name: up_stackdump ****************************************************************************/ @@ -212,7 +195,7 @@ static int assert_tracecallback(FAR struct usbtrace_s *trace, FAR void *arg) static void up_dumpstate(void) { struct tcb_s *rtcb = running_task(); - uint32_t sp = up_getsp(); + uint32_t sp = arm_getsp(); uint32_t ustackbase; uint32_t ustacksize; #if CONFIG_ARCH_INTERRUPTSTACK > 7 @@ -460,7 +443,7 @@ void up_assert(const uint8_t *filename, int lineno) syslog_flush(); #ifdef CONFIG_BOARD_CRASHDUMP - board_crashdump(up_getsp(), running_task(), filename, lineno); + board_crashdump(arm_getsp(), running_task(), filename, lineno); #endif _up_assert(EXIT_FAILURE); diff --git a/arch/arm/src/armv7-m/arm_assert.c b/arch/arm/src/armv7-m/arm_assert.c index 3383d8b..41b69c2 100644 --- a/arch/arm/src/armv7-m/arm_assert.c +++ b/arch/arm/src/armv7-m/arm_assert.c @@ -71,23 +71,6 @@ static uint32_t s_last_regs[XCPTCONTEXT_REGS]; ****************************************************************************/ /**************************************************************************** - * Name: up_getsp - ****************************************************************************/ - -/* I don't know if the builtin to get SP is enabled */ - -static inline uint32_t up_getsp(void) -{ - uint32_t sp; - __asm__ - ( - "\tmov %0, sp\n\t" - : "=r"(sp) - ); - return sp; -} - -/**************************************************************************** * Name: up_stackdump ****************************************************************************/ @@ -220,7 +203,7 @@ static int assert_tracecallback(FAR struct usbtrace_s *trace, FAR void *arg) static void up_dumpstate(void) { struct tcb_s *rtcb = running_task(); - uint32_t sp = up_getsp(); + uint32_t sp = arm_getsp(); uint32_t ustackbase; uint32_t ustacksize; #if CONFIG_ARCH_INTERRUPTSTACK > 7 @@ -449,7 +432,7 @@ void up_assert(const uint8_t *filename, int lineno) syslog_flush(); #ifdef CONFIG_BOARD_CRASHDUMP - board_crashdump(up_getsp(), running_task(), filename, lineno); + board_crashdump(arm_getsp(), running_task(), filename, lineno); #endif _up_assert(EXIT_FAILURE); diff --git a/arch/arm/src/armv7-r/arm_assert.c b/arch/arm/src/armv7-r/arm_assert.c index 165e867..f4791b8 100644 --- a/arch/arm/src/armv7-r/arm_assert.c +++ b/arch/arm/src/armv7-r/arm_assert.c @@ -68,23 +68,6 @@ static uint32_t s_last_regs[XCPTCONTEXT_REGS]; ****************************************************************************/ /**************************************************************************** - * Name: up_getsp - ****************************************************************************/ - -/* I don't know if the builtin to get SP is enabled */ - -static inline uint32_t up_getsp(void) -{ - uint32_t sp; - __asm__ - ( - "\tmov %0, sp\n\t" - : "=r"(sp) - ); - return sp; -} - -/**************************************************************************** * Name: up_stackdump ****************************************************************************/ @@ -209,7 +192,7 @@ static int assert_tracecallback(FAR struct usbtrace_s *trace, FAR void *arg) static void up_dumpstate(void) { struct tcb_s *rtcb = running_task(); - uint32_t sp = up_getsp(); + uint32_t sp = arm_getsp(); uint32_t ustackbase; uint32_t ustacksize; #if CONFIG_ARCH_INTERRUPTSTACK > 3 @@ -419,7 +402,7 @@ void up_assert(const uint8_t *filename, int lineno) syslog_flush(); #ifdef CONFIG_BOARD_CRASHDUMP - board_crashdump(up_getsp(), running_task(), filename, lineno); + board_crashdump(arm_getsp(), running_task(), filename, lineno); #endif _up_assert(EXIT_FAILURE); diff --git a/arch/arm/src/armv8-m/arm_assert.c b/arch/arm/src/armv8-m/arm_assert.c index b9dced4..6e9b633 100644 --- a/arch/arm/src/armv8-m/arm_assert.c +++ b/arch/arm/src/armv8-m/arm_assert.c @@ -71,23 +71,6 @@ static uint32_t s_last_regs[XCPTCONTEXT_REGS]; ****************************************************************************/ /**************************************************************************** - * Name: up_getsp - ****************************************************************************/ - -/* I don't know if the builtin to get SP is enabled */ - -static inline uint32_t up_getsp(void) -{ - uint32_t sp; - __asm__ - ( - "\tmov %0, sp\n\t" - : "=r"(sp) - ); - return sp; -} - -/**************************************************************************** * Name: up_stackdump ****************************************************************************/ @@ -220,7 +203,7 @@ static int assert_tracecallback(FAR struct usbtrace_s *trace, FAR void *arg) static void up_dumpstate(void) { struct tcb_s *rtcb = running_task(); - uint32_t sp = up_getsp(); + uint32_t sp = arm_getsp(); uint32_t ustackbase; uint32_t ustacksize; #if CONFIG_ARCH_INTERRUPTSTACK > 7 @@ -449,7 +432,7 @@ void up_assert(const uint8_t *filename, int lineno) syslog_flush(); #ifdef CONFIG_BOARD_CRASHDUMP - board_crashdump(up_getsp(), running_task(), filename, lineno); + board_crashdump(arm_getsp(), running_task(), filename, lineno); #endif _up_assert(EXIT_FAILURE); diff --git a/arch/hc/src/m9s12/m9s12_assert.c b/arch/hc/src/m9s12/m9s12_assert.c index 4bad193..390c1e0 100644 --- a/arch/hc/src/m9s12/m9s12_assert.c +++ b/arch/hc/src/m9s12/m9s12_assert.c @@ -185,7 +185,7 @@ static int assert_tracecallback(FAR struct usbtrace_s *trace, FAR void *arg) static void up_dumpstate(void) { struct tcb_s *rtcb = running_task(); - uint16_t sp = up_getsp(); + uint16_t sp = hc_getsp(); uint16_t ustackbase; uint16_t ustacksize; #if CONFIG_ARCH_INTERRUPTSTACK > 3 @@ -354,7 +354,7 @@ void up_assert(const uint8_t *filename, int lineno) syslog_flush(); #ifdef CONFIG_BOARD_CRASHDUMP - board_crashdump(up_getsp(), running_task(), filename, lineno); + board_crashdump(hc_getsp(), running_task(), filename, lineno); #endif _up_assert(EXIT_FAILURE); diff --git a/arch/mips/src/mips32/mips_assert.c b/arch/mips/src/mips32/mips_assert.c index 5e3f2e7..754eb10 100644 --- a/arch/mips/src/mips32/mips_assert.c +++ b/arch/mips/src/mips32/mips_assert.c @@ -177,7 +177,7 @@ void up_assert(const uint8_t *filename, int lineno) #endif #ifdef CONFIG_BOARD_CRASHDUMP - board_crashdump(up_getsp(), running_task(), filename, lineno); + board_crashdump(mips_getsp(), running_task(), filename, lineno); #endif _up_assert(EXIT_FAILURE); diff --git a/arch/mips/src/mips32/mips_dumpstate.c b/arch/mips/src/mips32/mips_dumpstate.c index d6e249f..58c3da6 100644 --- a/arch/mips/src/mips32/mips_dumpstate.c +++ b/arch/mips/src/mips32/mips_dumpstate.c @@ -59,23 +59,6 @@ ****************************************************************************/ /**************************************************************************** - * Name: up_getsp - ****************************************************************************/ - -/* I don't know if the builtin to get SP is enabled */ - -static inline uint32_t up_getsp(void) -{ - register uint32_t sp; - __asm__ - ( - "\tadd %0, $0, $29\n" - : "=r"(sp) - ); - return sp; -} - -/**************************************************************************** * Name: up_stackdump ****************************************************************************/ @@ -147,7 +130,7 @@ static inline void up_registerdump(void) void up_dumpstate(void) { struct tcb_s *rtcb = running_task(); - uint32_t sp = up_getsp(); + uint32_t sp = mips_getsp(); uint32_t ustackbase; uint32_t ustacksize; #if CONFIG_ARCH_INTERRUPTSTACK > 3 diff --git a/arch/misoc/src/lm32/lm32_assert.c b/arch/misoc/src/lm32/lm32_assert.c index 2f56aa7..36d0b07 100644 --- a/arch/misoc/src/lm32/lm32_assert.c +++ b/arch/misoc/src/lm32/lm32_assert.c @@ -182,7 +182,7 @@ void up_assert(const uint8_t *filename, int lineno) syslog_flush(); #ifdef CONFIG_BOARD_CRASHDUMP - board_crashdump(up_getsp(), running_task(), filename, lineno); + board_crashdump(misoc_getsp(), running_task(), filename, lineno); #endif _up_assert(EXIT_FAILURE); diff --git a/arch/misoc/src/lm32/lm32_dumpstate.c b/arch/misoc/src/lm32/lm32_dumpstate.c index a88a301..f6ff679 100644 --- a/arch/misoc/src/lm32/lm32_dumpstate.c +++ b/arch/misoc/src/lm32/lm32_dumpstate.c @@ -59,19 +59,6 @@ ****************************************************************************/ /**************************************************************************** - * Name: up_getsp - ****************************************************************************/ - -static inline uint32_t up_getsp(void) -{ - register uint32_t sp; - - __asm__ __volatile__("addi %0, sp, 0" : "=r" (sp)); - - return sp; -} - -/**************************************************************************** * Name: up_stackdump ****************************************************************************/ @@ -100,22 +87,26 @@ static inline void up_registerdump(void) { _alert("EPC:%08x \n", g_current_regs[REG_EPC]); - _alert(" X0:%08x A0:%08x A1:%08x A2:%08x A3:%08x A4:%08x A5:%08x A6:%08x\n", + _alert(" X0:%08x A0:%08x A1:%08x A2:%08x " + " A3:%08x A4:%08x A5:%08x A6:%08x\n", g_current_regs[REG_X0_NDX], g_current_regs[REG_X1_NDX], g_current_regs[REG_X2_NDX], g_current_regs[REG_X3_NDX], g_current_regs[REG_X4_NDX], g_current_regs[REG_X5_NDX], g_current_regs[REG_X6_NDX], g_current_regs[REG_X7_NDX]); - _alert(" A7:%08x X9:%08x X10:%08x X11:%08x X12:%08x X13:%08x X14:%08x X15:%08x\n", + _alert(" A7:%08x X9:%08x X10:%08x X11:%08x " + "X12:%08x X13:%08x X14:%08x X15:%08x\n", g_current_regs[REG_X8_NDX], g_current_regs[REG_X9_NDX], g_current_regs[REG_X10_NDX], g_current_regs[REG_X11_NDX], g_current_regs[REG_X12_NDX], g_current_regs[REG_X13_NDX], g_current_regs[REG_X14_NDX], g_current_regs[REG_X15_NDX]); - _alert("X16:%08x X17:%08x X18:%08x X19:%08x X20:%08x X21:%08x X22:%08x X23:%08x\n", + _alert("X16:%08x X17:%08x X18:%08x X19:%08x " + "X20:%08x X21:%08x X22:%08x X23:%08x\n", g_current_regs[REG_X16_NDX], g_current_regs[REG_X17_NDX], g_current_regs[REG_X18_NDX], g_current_regs[REG_X19_NDX], g_current_regs[REG_X20_NDX], g_current_regs[REG_X21_NDX], g_current_regs[REG_X22_NDX], g_current_regs[REG_X23_NDX]); - _alert("X24:%08x X25:%08x GP:%08x FP:%08x SP:%08x RA:%08x EA:%08x BA:%08x\n", + _alert("X24:%08x X25:%08x GP:%08x FP:%08x " + " SP:%08x RA:%08x EA:%08x BA:%08x\n", g_current_regs[REG_X24_NDX], g_current_regs[REG_X25_NDX], g_current_regs[REG_X26_NDX], g_current_regs[REG_X27_NDX], g_current_regs[REG_X28_NDX], g_current_regs[REG_X29_NDX], @@ -136,7 +127,7 @@ static inline void up_registerdump(void) void lm32_dumpstate(void) { struct tcb_s *rtcb = running_task(); - uint32_t sp = up_getsp(); + uint32_t sp = misoc_getsp(); uint32_t ustackbase; uint32_t ustacksize; #if CONFIG_ARCH_INTERRUPTSTACK > 3 diff --git a/arch/misoc/src/minerva/minerva_assert.c b/arch/misoc/src/minerva/minerva_assert.c index e67c13c..fe47be2 100644 --- a/arch/misoc/src/minerva/minerva_assert.c +++ b/arch/misoc/src/minerva/minerva_assert.c @@ -181,7 +181,7 @@ void up_assert(const uint8_t * filename, int lineno) syslog_flush(); #ifdef CONFIG_BOARD_CRASHDUMP - board_crashdump(up_getsp(), running_task(), filename, lineno); + board_crashdump(misoc_getsp(), running_task(), filename, lineno); #endif _up_assert(EXIT_FAILURE); diff --git a/arch/misoc/src/minerva/minerva_dumpstate.c b/arch/misoc/src/minerva/minerva_dumpstate.c index f02f2dd..6bd5548 100644 --- a/arch/misoc/src/minerva/minerva_dumpstate.c +++ b/arch/misoc/src/minerva/minerva_dumpstate.c @@ -59,19 +59,6 @@ ****************************************************************************/ /**************************************************************************** - * Name: up_getsp - ****************************************************************************/ - -static inline uint32_t up_getsp(void) -{ - register uint32_t sp; - - __asm__ __volatile__("addi %0, sp, 0":"=r"(sp)); - - return sp; -} - -/**************************************************************************** * Name: up_stackdump ****************************************************************************/ @@ -100,25 +87,29 @@ static inline void up_registerdump(void) { _alert("EPC:%08x \n", g_current_regs[REG_CSR_MEPC]); _alert - (" X0:%08x A0:%08x A1:%08x A2:%08x A3:%08x A4:%08x A5:%08x A6:%08x\n", + (" X0:%08x A0:%08x A1:%08x A2:%08x " + " A3:%08x A4:%08x A5:%08x A6:%08x\n", g_current_regs[REG_X0_NDX], g_current_regs[REG_X1_NDX], g_current_regs[REG_X2_NDX], g_current_regs[REG_X3_NDX], g_current_regs[REG_X4_NDX], g_current_regs[REG_X5_NDX], g_current_regs[REG_X6_NDX], g_current_regs[REG_X7_NDX]); _alert - (" A7:%08x X9:%08x X10:%08x X11:%08x X12:%08x X13:%08x X14:%08x X15:%08x\n", + (" A7:%08x X9:%08x X10:%08x X11:%08x " + "X12:%08x X13:%08x X14:%08x X15:%08x\n", g_current_regs[REG_X8_NDX], g_current_regs[REG_X9_NDX], g_current_regs[REG_X10_NDX], g_current_regs[REG_X11_NDX], g_current_regs[REG_X12_NDX], g_current_regs[REG_X13_NDX], g_current_regs[REG_X14_NDX], g_current_regs[REG_X15_NDX]); _alert - ("X16:%08x X17:%08x X18:%08x X19:%08x X20:%08x X21:%08x X22:%08x X23:%08x\n", + ("X16:%08x X17:%08x X18:%08x X19:%08x " + "X20:%08x X21:%08x X22:%08x X23:%08x\n", g_current_regs[REG_X16_NDX], g_current_regs[REG_X17_NDX], g_current_regs[REG_X18_NDX], g_current_regs[REG_X19_NDX], g_current_regs[REG_X20_NDX], g_current_regs[REG_X21_NDX], g_current_regs[REG_X22_NDX], g_current_regs[REG_X23_NDX]); _alert - ("X24:%08x X25:%08x GP:%08x FP:%08x SP:%08x RA:%08x EA:%08x BA:%08x\n", + ("X24:%08x X25:%08x GP:%08x FP:%08x " + " SP:%08x RA:%08x EA:%08x BA:%08x\n", g_current_regs[REG_X24_NDX], g_current_regs[REG_X25_NDX], g_current_regs[REG_X26_NDX], g_current_regs[REG_X27_NDX], g_current_regs[REG_X28_NDX], g_current_regs[REG_X29_NDX], @@ -138,7 +129,7 @@ static inline void up_registerdump(void) void minerva_dumpstate(void) { struct tcb_s *rtcb = running_task(); - uint32_t sp = up_getsp(); + uint32_t sp = misoc_getsp(); uint32_t ustackbase; uint32_t ustacksize; #if CONFIG_ARCH_INTERRUPTSTACK > 3 diff --git a/arch/or1k/src/common/up_assert.c b/arch/or1k/src/common/up_assert.c index d2a6170..53aa77c 100644 --- a/arch/or1k/src/common/up_assert.c +++ b/arch/or1k/src/common/up_assert.c @@ -82,29 +82,6 @@ static uint32_t s_last_regs[XCPTCONTEXT_REGS]; ****************************************************************************/ /**************************************************************************** - * Name: up_getsp - ****************************************************************************/ - -/* I don't know if the builtin to get SP is enabled */ - -static inline uint32_t up_getsp(void) -{ -#if 0 - uint32_t sp; - - __asm__ - ( - "\tmov %0, sp\n\t" - : "=r"(sp) - ); - - return sp; -#else - return 0; -#endif -} - -/**************************************************************************** * Name: up_stackdump ****************************************************************************/ @@ -233,7 +210,7 @@ static int assert_tracecallback(FAR struct usbtrace_s *trace, FAR void *arg) static void up_dumpstate(void) { struct tcb_s *rtcb = running_task(); - uint32_t sp = up_getsp(); + uint32_t sp = or1k_getsp(); uint32_t ustackbase; uint32_t ustacksize; #if CONFIG_ARCH_INTERRUPTSTACK > 3 @@ -432,7 +409,7 @@ void up_assert(const uint8_t *filename, int lineno) syslog_flush(); #ifdef CONFIG_BOARD_CRASHDUMP - board_crashdump(up_getsp(), running_task(), filename, lineno); + board_crashdump(or1k_getsp(), running_task(), filename, lineno); #endif _up_assert(EXIT_FAILURE); diff --git a/arch/xtensa/src/common/xtensa_assert.c b/arch/xtensa/src/common/xtensa_assert.c index 94e2b28..5cce6ec 100644 --- a/arch/xtensa/src/common/xtensa_assert.c +++ b/arch/xtensa/src/common/xtensa_assert.c @@ -117,7 +117,7 @@ static void xtensa_assert(int errorcode) #ifdef CONFIG_BOARD_CRASHDUMP /* Perform board-specific crash dump */ - board_crashdump(up_getsp(), running_task(), filename, lineno); + board_crashdump(xtensa_getsp(), running_task(), filename, lineno); #endif /* Flush any buffered SYSLOG data (from the above) */