blob: 8cb32f47b753df6a0ed2fa3717973179ba8cbe30 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#pragma once
#include <kernel/arch/generic.h>
#include <kernel/util.h>
#define _panic(type) do { \
kprintf("\nan "type" PANIC! at the "); \
kprintf(__func__); \
kprintf(" (" __FILE__ ":" NUM2STR(__LINE__) ")\n"); \
debug_stacktrace(); \
halt_cpu(); \
} while (0)
#define panic_invalid_state() _panic("invalid state")
#define panic_unimplemented() _panic("unimplemented")
#define assert(stmt) do { if (!(stmt)) _panic("assert"); } while (0)
#undef panic
|