1 #include <lunaix/failsafe.h>
2 #include <lunaix/spike.h>
3 #include <lunaix/syslog.h>
4 #include <lunaix/trace.h>
5 #include <lunaix/sched.h>
10 do_failsafe_unrecoverable(ptr_t frame_link, ptr_t stack_link)
12 ERROR("------- [cut here] ------- \n");
13 ERROR("diagnositic mode");
14 ERROR("check: init stack: %s",
15 check_bootstack_sanity() ? "ok" : "smashing");
17 // TODO ...check other invariants
18 if (current_thread && current_thread->hstate)
20 struct hart_state* hstate = current_thread->hstate;
22 trace_print_transition_full(hstate);
25 trace_dump_state(hstate);
32 ERROR("non recoverable: Nightmare Moon arrival.");