From e7b04ef7f5da8e014e8b85fcf65448b317cca8ff Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 29 Oct 2025 11:15:50 +0100 Subject: kapi: move halt to cpu namespace --- kapi/include/kapi/cpu.hpp | 13 +++++++++++++ kapi/include/kapi/system.hpp | 2 -- kapi/src/system.cpp | 4 +++- 3 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 kapi/include/kapi/cpu.hpp (limited to 'kapi') diff --git a/kapi/include/kapi/cpu.hpp b/kapi/include/kapi/cpu.hpp new file mode 100644 index 0000000..673deab --- /dev/null +++ b/kapi/include/kapi/cpu.hpp @@ -0,0 +1,13 @@ +#ifndef TEACHOS_KAPI_CPU_HPP +#define TEACHOS_KAPI_CPU_HPP + +namespace teachos::cpu +{ + /** + * @brief Halt the CPU, effectively terminating kernel execution. + * + */ + [[noreturn]] auto halt() -> void; +} // namespace teachos::cpu + +#endif diff --git a/kapi/include/kapi/system.hpp b/kapi/include/kapi/system.hpp index 0d4f2c9..b0b0e28 100644 --- a/kapi/include/kapi/system.hpp +++ b/kapi/include/kapi/system.hpp @@ -6,8 +6,6 @@ namespace teachos::system { - [[noreturn]] auto halt() -> void; - [[noreturn]] auto panic(std::string_view message, std::source_location = std::source_location::current()) -> void; } // namespace teachos::system diff --git a/kapi/src/system.cpp b/kapi/src/system.cpp index 041404e..3ae3f29 100644 --- a/kapi/src/system.cpp +++ b/kapi/src/system.cpp @@ -1,10 +1,12 @@ #include "kapi/system.hpp" #include "kapi/cio.hpp" +#include "kapi/cpu.hpp" namespace teachos::system { + [[gnu::weak]] auto panic(std::string_view message, std::source_location location) -> void { cio::println_error("!!!Kernel Panic!!! "); @@ -12,7 +14,7 @@ namespace teachos::system cio::println_error(location.file_name()); cio::println_error(location.function_name()); - halt(); + cpu::halt(); } } // namespace teachos::system -- cgit v1.2.3