summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/Sources/KernelCheck.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'dev/ZKA/Sources/KernelCheck.cxx')
-rw-r--r--dev/ZKA/Sources/KernelCheck.cxx13
1 files changed, 5 insertions, 8 deletions
diff --git a/dev/ZKA/Sources/KernelCheck.cxx b/dev/ZKA/Sources/KernelCheck.cxx
index a05c265a..0ed96593 100644
--- a/dev/ZKA/Sources/KernelCheck.cxx
+++ b/dev/ZKA/Sources/KernelCheck.cxx
@@ -56,6 +56,7 @@ namespace Kernel
{
case RUNTIME_CHECK_PROCESS: {
CGDrawString("0x00000008 No more processes to run, this is because that ZKA ran out of processes.", start_y, x, panicTxt);
+ RecoveryFactory::Recover();
break;
}
case RUNTIME_CHECK_ACPI: {
@@ -102,7 +103,7 @@ namespace Kernel
break;
}
case RUNTIME_CHECK_FAILED: {
- CGDrawString("0x10000001 Assertion failed.", start_y, x, panicTxt);
+ CGDrawString("0x10000001 Kernel bug-check failure.", start_y, x, panicTxt);
RecoveryFactory::Recover();
break;
}
@@ -120,13 +121,6 @@ namespace Kernel
Void RecoveryFactory::Recover() noexcept
{
- const auto cMaxSeconds = Seconds(4);
-
- HardwareTimer timer(cMaxSeconds);
- timer.Wait();
-
- kcout << "newoskrnl.exe: Shutting down computer...\r";
-
PowerFactoryInterface power(nullptr);
power.Shutdown();
}
@@ -135,6 +129,9 @@ namespace Kernel
{
if (!expr)
{
+ kcout << "ASSERTION FAILED: FILE: " << file << endl;
+ kcout << "ASSERTION FAILED: LINE: " << line << endl;
+
ke_stop(RUNTIME_CHECK_FAILED); // Runtime Check failed
}
}