diff options
author | Xander <xander@biltopia.org> | 2023-08-06 17:44:45 +0200 |
---|---|---|
committer | Xander <xander@biltopia.org> | 2023-08-06 17:44:45 +0200 |
commit | cef3f6bdddfe768e7a1a84edcec76c11c1634941 (patch) | |
tree | a7681996224d1d3bf6eeda8657ac500ac061c2d5 /lib/DATS/panic.dats | |
parent | 272a40095e7c3f694f010d074ab54b326730009e (diff) | |
download | ats-os-cef3f6bdddfe768e7a1a84edcec76c11c1634941.tar.xz ats-os-cef3f6bdddfe768e7a1a84edcec76c11c1634941.zip |
Implemented panic
Diffstat (limited to 'lib/DATS/panic.dats')
-rw-r--r-- | lib/DATS/panic.dats | 24 |
1 files changed, 24 insertions, 0 deletions
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():<!ntm> void = "mac#" + +implement panic_loc(loc,msg) = ( + put_string "KERNEL PANIC:\n "; + put_string loc; + put_string "\n\n "; + put_string msg; + halt(); +) |