arch/: Add 'BOARD_ASSERT_RESET_VALUE' in config/Kconfig and replace reboot status '0' to 'CONFIG_BOARD_ASSERT_RESET_VALUE'.

This commit is contained in:
Gregory Nutt
2018-11-10 14:06:46 -06:00
parent e6ebbe875a
commit 2b3ec4172d
17 changed files with 42 additions and 32 deletions
+2 -2
View File
@@ -298,7 +298,7 @@ static void _up_assert(int errorcode)
for (; ; ) for (; ; )
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -311,7 +311,7 @@ static void _up_assert(int errorcode)
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -352,7 +352,7 @@ static void _up_assert(int errorcode)
for (; ; ) for (; ; )
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -365,7 +365,7 @@ static void _up_assert(int errorcode)
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -382,7 +382,7 @@ static void _up_assert(int errorcode)
#endif #endif
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
/* FLASH LEDs a 2Hz */ /* FLASH LEDs a 2Hz */
@@ -397,7 +397,7 @@ static void _up_assert(int errorcode)
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -381,7 +381,7 @@ static void _up_assert(int errorcode)
#endif #endif
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -394,7 +394,7 @@ static void _up_assert(int errorcode)
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -353,7 +353,7 @@ static void _up_assert(int errorcode)
for (; ; ) for (; ; )
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -366,7 +366,7 @@ static void _up_assert(int errorcode)
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -93,7 +93,7 @@ static void _up_assert(int errorcode)
for (; ; ) for (; ; )
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -106,7 +106,7 @@ static void _up_assert(int errorcode)
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -281,7 +281,7 @@ static void _up_assert(int errorcode)
for (;;) for (;;)
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -294,7 +294,7 @@ static void _up_assert(int errorcode)
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -92,7 +92,7 @@ static void _up_assert(int errorcode)
for (; ; ) for (; ; )
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -105,7 +105,7 @@ static void _up_assert(int errorcode)
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -93,7 +93,7 @@ static void _up_assert(int errorcode)
for (; ; ) for (; ; )
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -106,7 +106,7 @@ static void _up_assert(int errorcode)
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -357,7 +357,7 @@ static void _up_assert(int errorcode)
for (; ; ) for (; ; )
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -370,7 +370,7 @@ static void _up_assert(int errorcode)
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -94,7 +94,7 @@ static void _up_assert(int errorcode)
for (;;) for (;;)
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -107,7 +107,7 @@ static void _up_assert(int errorcode)
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -93,7 +93,7 @@ static void _up_assert(int errorcode)
for (; ; ) for (; ; )
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -106,7 +106,7 @@ static void _up_assert(int errorcode)
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -242,7 +242,7 @@ static void _up_assert(int errorcode)
for (;;) for (;;)
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -255,7 +255,7 @@ static void _up_assert(int errorcode)
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -134,7 +134,7 @@ static void xtensa_assert(int errorcode)
for (; ; ) for (; ; )
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -149,7 +149,7 @@ static void xtensa_assert(int errorcode)
/* Assertions in other contexts only cause the thread to exit */ /* Assertions in other contexts only cause the thread to exit */
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -93,7 +93,7 @@ static void _up_assert(int errorcode) /* noreturn_function */
for (;;) for (;;)
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -106,7 +106,7 @@ static void _up_assert(int errorcode) /* noreturn_function */
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+2 -2
View File
@@ -92,7 +92,7 @@ static void _up_assert(int errorcode) /* noreturn_function */
for (;;) for (;;)
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1 #if CONFIG_BOARD_RESET_ON_ASSERT >= 1
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
board_autoled_on(LED_PANIC); board_autoled_on(LED_PANIC);
@@ -105,7 +105,7 @@ static void _up_assert(int errorcode) /* noreturn_function */
else else
{ {
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2 #if CONFIG_BOARD_RESET_ON_ASSERT >= 2
board_reset(0); board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
#endif #endif
exit(errorcode); exit(errorcode);
} }
+10
View File
@@ -2430,6 +2430,16 @@ config BOARD_RESET_ON_ASSERT
>= 2 up_assert from user or kernel thread will reset the machine. >= 2 up_assert from user or kernel thread will reset the machine.
The default behavior is just to kill the asserting thread. The default behavior is just to kill the asserting thread.
config BOARD_ASSERT_RESET_VALUE
int "Board reset argument"
default 0
depends on BOARDCTL_RESET
---help---
Parameter that will be passed to board_reset() by when an
assertion occurs. This may be used by board_reset()
implementations to handle the reset differently for the
case of a crash.
config BOARDCTL_UNIQUEID config BOARDCTL_UNIQUEID
bool "Return board unique ID" bool "Return board unique ID"
default n default n