X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/6c506d8916fb114675e93d0e2cb20831d4022294..d1b1c8d9119229dbeed06cd252917e54a1cb77f6:/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