Skip to content

panic

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, ...)