include/console/panic.h View source View on GitHub
struct panic_hook {
_Atomic panic_handler_t impl;
bool enabled;
};
struct panic_regs {
uint64_t rsp;
uint64_t r15;
uint64_t rsi;
};
typedef __noreturn (*void)(const char * file, int line, const char * func, const char * fmt, ...);
void debug_print_stack();
void panic_entry();
void panic_broadcast_nmi();
void qemu_exit(int code);
__noreturn void panic_impl_default(const char *file, int line, const char *func, const char *fmt);
#define panic(fmt, ...) \
panic_impl_default(__FILE__, __LINE__, __func__, fmt, ##__VA_ARGS__)
#define panic_with_impl(hook, fmt, ...) \
hook.impl(__FILE__, __LINE__, __func__, fmt, ##__VA_ARGS__)
#define oops(fmt, ...)