summaryrefslogtreecommitdiffhomepage
path: root/Kernel/Sources/KernelCheck.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel/Sources/KernelCheck.cxx')
-rw-r--r--Kernel/Sources/KernelCheck.cxx13
1 files changed, 11 insertions, 2 deletions
diff --git a/Kernel/Sources/KernelCheck.cxx b/Kernel/Sources/KernelCheck.cxx
index cb7643f4..be2150ae 100644
--- a/Kernel/Sources/KernelCheck.cxx
+++ b/Kernel/Sources/KernelCheck.cxx
@@ -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()
{
- while (true)
+ while (Yes)
{
#ifdef __NEWOS_AMD64__
Kernel::HAL::rt_cli();
@@ -88,12 +90,19 @@ namespace Kernel
}
};
- DumpManager::Dump();
+ RecoveryFactory::Recover();
#ifdef __DEBUG__
ke_wait_for_debugger();
#endif // ifdef __DEBUG__
}
+
+ Void RecoveryFactory::Recover() noexcept
+ {
+ PowerFactoryInterface powerInterface(kHandoverHeader->f_HardwareTables.f_VendorPtr);
+ powerInterface.Shutdown();
+ }
+
void ke_runtime_check(bool expr, const char* file, const char* line)
{