[rtems commit] bsps: More verbose bsp_fatal_extension()

Sebastian Huber sebh at rtems.org
Thu Mar 8 05:56:47 UTC 2018


Module:    rtems
Branch:    master
Commit:    d39cc068738b5028af771e6ea280ce370a69d3ca
Changeset: http://git.rtems.org/rtems/commit/?id=d39cc068738b5028af771e6ea280ce370a69d3ca

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Mar  7 06:37:55 2018 +0100

bsps: More verbose bsp_fatal_extension()

Close #3318.

---

 c/src/lib/libbsp/shared/bspclean.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/c/src/lib/libbsp/shared/bspclean.c b/c/src/lib/libbsp/shared/bspclean.c
index e5fee78..4ed6243 100644
--- a/c/src/lib/libbsp/shared/bspclean.c
+++ b/c/src/lib/libbsp/shared/bspclean.c
@@ -11,6 +11,8 @@
 #include <bsp/bootcard.h>
 #include <rtems/bspIo.h>
 #include <rtems/version.h>
+#include <rtems/score/threadimpl.h>
+#include <inttypes.h>
 
 void bsp_fatal_extension(
   rtems_fatal_source source,
@@ -19,6 +21,8 @@ void bsp_fatal_extension(
 )
 {
   #if BSP_VERBOSE_FATAL_EXTENSION
+    Thread_Control *executing;
+
     printk(
       "\n"
       "*** FATAL ***\n"
@@ -55,6 +59,22 @@ void bsp_fatal_extension(
       rtems_version(),
       __VERSION__
     );
+
+    executing = _Thread_Get_executing();
+
+    if ( executing != NULL ) {
+      char name[ 32 ];
+
+      _Thread_Get_name( executing, name, sizeof( name ) );
+      printk(
+        "executing thread ID: 0x08%" PRIx32 "\n"
+        "executing thread name: %s\n",
+        executing->Object.id,
+        name
+      );
+    } else {
+      printk( "executing thread is NULL\n" );
+    }
   #endif
 
   #if (BSP_PRESS_KEY_FOR_RESET)




More information about the vc mailing list