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.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";