diff options
| author | Amlal <amlalelmahrouss@icloud.com> | 2024-07-28 16:11:46 +0000 |
|---|---|---|
| committer | Amlal <amlalelmahrouss@icloud.com> | 2024-07-28 16:11:46 +0000 |
| commit | c4023005e029ae092dad2689564c490580dd5c28 (patch) | |
| tree | 3080ba07a6b552bf3d7591574cf69b2a3c8fd0fd /Kernel/Sources/KernelCheck.cxx | |
| parent | 8c8822fff78f9ff9cd640271da9b3634c4c2f97f (diff) | |
| parent | 4db57a2d646b1538783a0675b38bada7a0f903ae (diff) | |
Merged in MHR-36 (pull request #17)
MHR-36
Diffstat (limited to 'Kernel/Sources/KernelCheck.cxx')
| -rw-r--r-- | Kernel/Sources/KernelCheck.cxx | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/Kernel/Sources/KernelCheck.cxx b/Kernel/Sources/KernelCheck.cxx index 6eb5429c..690c8e8f 100644 --- a/Kernel/Sources/KernelCheck.cxx +++ b/Kernel/Sources/KernelCheck.cxx @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright Zeta Electronics Corporation + Copyright ZKA Technologies ------------------------------------------- */ @@ -8,10 +8,12 @@ #include <KernelKit/DebugOutput.hpp> #include <NewKit/KernelCheck.hpp> #include <NewKit/String.hpp> +#include <FirmwareKit/Handover.hxx> +#include <Modules/ACPI/ACPIFactoryInterface.hxx> -EXTERN_C [[noreturn]] void ke_wait_for_debugger() +EXTERN_C [[noreturn]] Kernel::Void ke_wait_for_debugger() { - while (true) + while (Yes) { #ifdef __NEWOS_AMD64__ Kernel::HAL::rt_cli(); @@ -88,12 +90,20 @@ namespace Kernel } }; - DumpManager::Dump(); + RecoveryFactory::Recover(); + } + + Void RecoveryFactory::Recover() noexcept + { #ifdef __DEBUG__ ke_wait_for_debugger(); #endif // ifdef __DEBUG__ + + PowerFactoryInterface powerInterface(kHandoverHeader->f_HardwareTables.f_VendorPtr); + powerInterface.Shutdown(); } + void ke_runtime_check(bool expr, const char* file, const char* line) { @@ -105,7 +115,7 @@ namespace Kernel #endif // __DEBUG__ - Kernel::ke_stop(RUNTIME_CHECK_FAILED); // Runtime Check failed + ke_stop(RUNTIME_CHECK_FAILED); // Runtime Check failed } } } // namespace Kernel |
