Boot framework rework (#45)
[lunaix-os.git] / lunaix-os / kernel / spike.c
index 91fe9f69694c3cc8939d34964d448a108e4e3a94..86eaf94ce67d83acac371388ac541c838369a3ce 100644 (file)
@@ -1,8 +1,9 @@
 #include <klibc/strfmt.h>
 #include <lunaix/spike.h>
 #include <klibc/strfmt.h>
 #include <lunaix/spike.h>
-#include <lunaix/pcontext.h>
+#include <lunaix/hart_state.h>
 #include <lunaix/syslog.h>
 #include <lunaix/trace.h>
 #include <lunaix/syslog.h>
 #include <lunaix/trace.h>
+#include <lunaix/failsafe.h>
 
 LOG_MODULE("spike")
 
 
 LOG_MODULE("spike")
 
@@ -13,9 +14,8 @@ __assert_fail(const char* expr, const char* file, unsigned int line)
     //  the stack context being preserved
     cpu_disable_interrupt();
     ERROR("assertion fail (%s:%u)\n\t%s", file, line, expr);
     //  the stack context being preserved
     cpu_disable_interrupt();
     ERROR("assertion fail (%s:%u)\n\t%s", file, line, expr);
-    trace_printstack();
-
-    spin(); // never reach
+    
+    failsafe_diagnostic();
 }
 
 void noret
 }
 
 void noret