X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/c166bd62fbb907f95f79f621e2a2fb4fdde08e01..c50ef1526a29f29b65cf353a590ea36b9d2e963a:/lunaix-os/kernel/debug/failsafe.c diff --git a/lunaix-os/kernel/debug/failsafe.c b/lunaix-os/kernel/debug/failsafe.c index 5fdbc5d..7c1ecff 100644 --- a/lunaix-os/kernel/debug/failsafe.c +++ b/lunaix-os/kernel/debug/failsafe.c @@ -9,16 +9,26 @@ LOG_MODULE("NMM") void do_failsafe_unrecoverable(ptr_t frame_link, ptr_t stack_link) { + ERROR("------- [cut here] ------- \n"); ERROR("diagnositic mode"); - ERROR("check: init stack: %s", check_bootstack_sanity() ? "ok" : "smashing"); // TODO ...check other invariants + if (current_thread && current_thread->hstate) + { + struct hart_state* hstate = current_thread->hstate; + + trace_print_transition_full(hstate); + ERROR("++++++"); - ERROR("non recoverable: Nightmare Moon arrival."); + trace_dump_state(hstate); + ERROR("++++++"); + } trace_printstack(); - + ERROR("++++++"); + + ERROR("non recoverable: Nightmare Moon arrival."); spin(); } \ No newline at end of file