1 #ifndef __LUNAIX_ARCH_FAILSAFE_H
2 #define __LUNAIX_ARCH_FAILSAFE_H
4 #define STACK_SANITY 0xbeefc0de
8 #include <lunaix/types.h>
11 check_bootstack_sanity()
13 extern unsigned int __kinit_stack_end[];
15 return ( __kinit_stack_end[0]
16 | __kinit_stack_end[1]
17 | __kinit_stack_end[2]
18 | __kinit_stack_end[3]) == STACK_SANITY;
21 static inline void must_inline noret
22 failsafe_diagnostic() {
23 // asm ("jmp __fatal_state");
24 extern int failsafe_stack_top[];
25 #ifdef CONFIG_ARCH_X86_64
35 "call do_failsafe_unrecoverable\n"
36 ::"r"(failsafe_stack_top)
49 "call do_failsafe_unrecoverable\n"
50 ::"r"(failsafe_stack_top)
59 #endif /* __LUNAIX_FAILSAFE_H */