From cef3f6bdddfe768e7a1a84edcec76c11c1634941 Mon Sep 17 00:00:00 2001 From: Xander Date: Sun, 6 Aug 2023 17:44:45 +0200 Subject: Implemented panic --- lib/DATS/panic.dats | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 lib/DATS/panic.dats (limited to 'lib/DATS/panic.dats') diff --git a/lib/DATS/panic.dats b/lib/DATS/panic.dats new file mode 100644 index 0000000..356eda5 --- /dev/null +++ b/lib/DATS/panic.dats @@ -0,0 +1,24 @@ +staload "lib/SATS/panic.sats" +staload "lib/SATS/writer.sats" + +staload UN = "prelude/SATS/unsafe.sats" + +#define ATS_DYNLOADFLAG 0 + +%{$ + inline void halt() { + while (1){ + __asm__ volatile ("cli ; hlt"); + } + } +%} + +extern fun halt(): void = "mac#" + +implement panic_loc(loc,msg) = ( + put_string "KERNEL PANIC:\n "; + put_string loc; + put_string "\n\n "; + put_string msg; + halt(); +) -- cgit v1.2.3