/** vim: set ft=cpp.doxygen : * @file sys/panic.h * @brief Kernel assertion-testing and critical failure functions */ #pragma once #include #include #define panic(f, ...) panicf("[%s] " f, __func__, ##__VA_ARGS__) #if defined(ARCH_AMD64) #define __idle_halt() asm volatile ("cli; hlt") #endif #define panic_hlt() do { __idle_halt(); } while (1) void panicf(const char *fmt, ...) __attribute__((noreturn));