diff options
| author | Jon Santmyer <jon@jonsantmyer.com> | 2026-09-29 12:53:57 -0400 |
|---|---|---|
| committer | Jon Santmyer <jon@jonsantmyer.com> | 2026-09-29 12:53:57 -0400 |
| commit | c2788174198632e0c8bdbfa7762081f595460bdf (patch) | |
| tree | 373b1f5c7cfe0e87f29c1c8956579c58b4f22bf9 /panic/panic.c | |
| parent | 8de23ca36173cfdb3c609074496115ebd9045887 (diff) | |
| download | jove-kernel-c2788174198632e0c8bdbfa7762081f595460bdf.tar.gz jove-kernel-c2788174198632e0c8bdbfa7762081f595460bdf.tar.bz2 jove-kernel-c2788174198632e0c8bdbfa7762081f595460bdf.zip | |
move process code into proc. add panic folder
Diffstat (limited to 'panic/panic.c')
| -rw-r--r-- | panic/panic.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/panic/panic.c b/panic/panic.c new file mode 100644 index 0000000..5bde05b --- /dev/null +++ b/panic/panic.c @@ -0,0 +1,40 @@ +#include "panic.h" +#include "lib/printf.h" + +int _kernel_panic_unlock = 0; + +void +__panic_reason(const char *fmt, va_list ap) +{ + _kernel_panic_unlock = 1; + + kvprintf(fmt, ap); +} + +void +__panic_end(void) +{ + hcf(); +} + +void +kpanic(const char *fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + + __panic_reason(fmt, ap); + __panic_stack_trace(__panic_get_bp()); + __panic_end(); +} + +void +kpanic_istate(void *state, const char *fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + + __panic_reason(fmt, ap); + __panic_stack_trace(__panic_print_istate(state)); + __panic_end(); +} |
