5fdbc5d47676471ebc67f8b77c2703d52a817929
[lunaix-os.git] / lunaix-os / kernel / debug / failsafe.c
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>
6
7 LOG_MODULE("NMM")
8
9 void
10 do_failsafe_unrecoverable(ptr_t frame_link, ptr_t stack_link)
11 {
12     ERROR("diagnositic mode");
13
14     ERROR("check: init stack: %s", 
15             check_bootstack_sanity() ? "ok" : "smashing");
16
17     // TODO ...check other invariants
18
19     ERROR("non recoverable: Nightmare Moon arrival.");
20
21     trace_printstack();
22
23     spin();
24 }