summaryrefslogtreecommitdiffhomepage
path: root/Kernel/Sources/KernelCheck.cxx
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-04 17:47:13 +0200
committerAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-04 17:48:40 +0200
commitfb0ca452cda3bdc4a13f278c115f2dcd9360d818 (patch)
tree788411aebd30ed446cb8c4bb5756a3e937c08f0a /Kernel/Sources/KernelCheck.cxx
parent34bb37c9a464ab0dfccfa5ff217a283e36b32693 (diff)
[IMP] [MHR-39] Ticket done.
Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Kernel/Sources/KernelCheck.cxx')
-rw-r--r--Kernel/Sources/KernelCheck.cxx22
1 files changed, 22 insertions, 0 deletions
diff --git a/Kernel/Sources/KernelCheck.cxx b/Kernel/Sources/KernelCheck.cxx
index d33002bd..defe6841 100644
--- a/Kernel/Sources/KernelCheck.cxx
+++ b/Kernel/Sources/KernelCheck.cxx
@@ -11,6 +11,10 @@
#include <FirmwareKit/Handover.hxx>
#include <Modules/ACPI/ACPIFactoryInterface.hxx>
+#include <Modules/CoreCG/Accessibility.hxx>
+#include <Modules/CoreCG/FbRenderer.hxx>
+#include <Modules/CoreCG/TextRenderer.hxx>
+
EXTERN_C [[noreturn]] Kernel::Void ke_wait_for_debugger()
{
while (Yes)
@@ -29,6 +33,24 @@ namespace Kernel
{
void ke_stop(const Kernel::Int& id)
{
+ CGInit();
+
+ auto panicBack = RGB(0xDC, 0xF5, 0xF5);
+ auto panicTxt = RGB(0, 0, 0);
+
+ CGDrawInRegion(panicBack, UIAccessibilty::The().Height(), UIAccessibilty::The().Width(), 0, 0);
+
+ auto start_y = 10;
+ auto x = 10;
+
+ cg_write_text("*** Kernel panic! ***\rnewoskrnl.dll stopped working properly so we had to shut it down.", start_y, x, panicTxt);
+
+ CGFini();
+
+ // ******* //
+ // shows in debug only.
+ // ******* //
+
kcout << "*** STOP *** \r";
kcout << "*** Kernel has trigerred a runtime stop. *** \r";