kernel panic and trapping :)
This commit is contained in:
parent
fae2e42f8f
commit
da95a4acfa
5 changed files with 70 additions and 1 deletions
16
src/kernel/panic.h
Normal file
16
src/kernel/panic.h
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#ifndef PANIC_H
|
||||
#define PANIC_H
|
||||
|
||||
void kpanic(const char *reason);
|
||||
void kpanic_force();
|
||||
|
||||
#define KASSERT(cond, msg) \
|
||||
if (!(cond)) { \
|
||||
kprint("ASSERTION FAILED: "); \
|
||||
kprint(__FILE__); \
|
||||
kprint(":"); \
|
||||
/* Note: Printing line numbers requires a custom itoa/printf */ \
|
||||
kpanic(msg); \
|
||||
}
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue