aboutsummaryrefslogtreecommitdiff
path: root/kern/src/error.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kern/src/error.cpp')
-rw-r--r--kern/src/error.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/kern/src/error.cpp b/kern/src/error.cpp
new file mode 100644
index 0000000..a5229fd
--- /dev/null
+++ b/kern/src/error.cpp
@@ -0,0 +1,19 @@
+#include "kern/error.hpp"
+
+#include "arch/system.hpp"
+#include "kern/print.hpp"
+
+namespace teachos
+{
+
+ auto panic(std::string_view message, std::source_location location) -> void
+ {
+ println_error("!!!Kernel Panic!!! ");
+ println_error(message);
+ println_error(location.file_name());
+ println_error(location.function_name());
+
+ arch::system::halt();
+ }
+
+} // namespace teachos