summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/Sources/KernelCheck.cxx
diff options
context:
space:
mode:
authorAmlal <amlalelmahrouss@icloud.com>2024-09-05 19:13:02 +0000
committerAmlal <amlalelmahrouss@icloud.com>2024-09-05 19:13:02 +0000
commit621e814da6d5005ade8a1fe3f378a363db559cf7 (patch)
tree438f1337c0eb2ae83cf3d409c29848d396be08b2 /dev/ZKA/Sources/KernelCheck.cxx
parentcc9ce57cac59bd443e2319e3b8f427172b93f7da (diff)
parent3b60a1e87ab02a1b72d8bb9f7392780899d5a0d7 (diff)
Merged in major-refactor (pull request #19)
Major refactor
Diffstat (limited to 'dev/ZKA/Sources/KernelCheck.cxx')
-rw-r--r--dev/ZKA/Sources/KernelCheck.cxx20
1 files changed, 11 insertions, 9 deletions
diff --git a/dev/ZKA/Sources/KernelCheck.cxx b/dev/ZKA/Sources/KernelCheck.cxx
index a05c265a..acc01dec 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: {
@@ -98,11 +99,16 @@ namespace Kernel
RecoveryFactory::Recover();
break;
case RUNTIME_CHECK_UNEXCPECTED: {
- CGDrawString("0x0000000B Catasrophic Kernel failure.", start_y, x, panicTxt);
+ CGDrawString("0x0000000B Unexpected Kernel failure.", start_y, x, panicTxt);
+ break;
+ }
+ case RUNTIME_CHECK_VIRTUAL_OUT_OF_MEM: {
+ CGDrawString("0x10000001 Out of Virtual Memory. (Catastrophic Failure)", start_y, x, panicTxt);
+ RecoveryFactory::Recover();
break;
}
case RUNTIME_CHECK_FAILED: {
- CGDrawString("0x10000001 Assertion failed.", start_y, x, panicTxt);
+ CGDrawString("0x10000001 Kernel Check.", start_y, x, panicTxt);
RecoveryFactory::Recover();
break;
}
@@ -120,13 +126,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 +134,9 @@ namespace Kernel
{
if (!expr)
{
+ kcout << "FAILED: FILE: " << file << endl;
+ kcout << "FAILED: LINE: " << line << endl;
+
ke_stop(RUNTIME_CHECK_FAILED); // Runtime Check failed
}
}