From 809f9a9899b219e33ec839b3f9bee644fcfecacc Mon Sep 17 00:00:00 2001 From: dzwdz Date: Sat, 6 Aug 2022 23:53:42 +0200 Subject: shared assert.h --- src/kernel/assert.c | 9 +++++++++ src/kernel/panic.h | 4 +--- 2 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 src/kernel/assert.c (limited to 'src/kernel') diff --git a/src/kernel/assert.c b/src/kernel/assert.c new file mode 100644 index 0000000..9bd1107 --- /dev/null +++ b/src/kernel/assert.c @@ -0,0 +1,9 @@ +#include +#include + +_Noreturn void __badassert(const char *func, const char *file, int line) { + /* same format as panics */ + kprintf("\nan assert PANIC! at the %s (%s:%u)\n", func, file, line); + debug_stacktrace(); + cpu_halt(); +} diff --git a/src/kernel/panic.h b/src/kernel/panic.h index 4e591f1..12c0d64 100644 --- a/src/kernel/panic.h +++ b/src/kernel/panic.h @@ -1,4 +1,5 @@ #pragma once +#include #include #include @@ -12,6 +13,3 @@ #define panic_invalid_state() _panic("invalid state") #define panic_unimplemented() _panic("unimplemented") -#define assert(stmt) do { if (!(stmt)) _panic("assert"); } while (0) - -#undef panic -- cgit v1.2.3