summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/HALKit
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/HALKit')
-rw-r--r--src/kernel/HALKit/AMD64/HalDebugOutput.cpp8
-rw-r--r--src/kernel/HALKit/AMD64/HalKernelMain.cpp9
-rw-r--r--src/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cpp2
3 files changed, 14 insertions, 5 deletions
diff --git a/src/kernel/HALKit/AMD64/HalDebugOutput.cpp b/src/kernel/HALKit/AMD64/HalDebugOutput.cpp
index a63b3657..dc4b78e7 100644
--- a/src/kernel/HALKit/AMD64/HalDebugOutput.cpp
+++ b/src/kernel/HALKit/AMD64/HalDebugOutput.cpp
@@ -59,7 +59,7 @@ namespace Detail {
TerminalDevice::~TerminalDevice() = default;
#ifdef __DEBUG__
-STATIC SizeT kX = kFontSizeX, kY = kFontSizeY;
+STATIC SizeT kX = kFontSizeX, kY = kFontSizeY + 70;
#endif // __DEBUG__
EXTERN_C void ke_utf_io_write(IDevice<const Utf8Char*>* obj, const Utf8Char* bytes) {
@@ -91,7 +91,7 @@ EXTERN_C void ke_utf_io_write(IDevice<const Utf8Char*>* obj, const Utf8Char* byt
tmp_str[0] = (bytes[index] > 127) ? '?' : bytes[index];
tmp_str[1] = 0;
- cg_render_string(tmp_str, kY, kX, RGB(0x00, 0x00, 0x00));
+ cg_render_string(tmp_str, kY, kX, RGB(0xFF, 0xFF, 0xFF));
if (bytes[index] == '\r') {
kY += kFontSizeY;
@@ -147,7 +147,7 @@ EXTERN_C void ke_io_write(IDevice<const Char*>* obj, const Char* bytes) {
tmp_str[0] = bytes[index];
tmp_str[1] = 0;
- cg_render_string(tmp_str, kY, kX, RGB(0x00, 0x00, 0x00));
+ cg_render_string(tmp_str, kY, kX, RGB(0xFF, 0xFF, 0xFF));
if (bytes[index] == '\r') {
kY += kFontSizeY;
@@ -161,7 +161,7 @@ EXTERN_C void ke_io_write(IDevice<const Char*>* obj, const Char* bytes) {
}
if (kY > kHandoverHeader->f_GOP.f_Height) {
- kY = kFontSizeY;
+ kY = kFontSizeY + 70;
FBDrawInRegion(cg_get_clear_clr(), FB::CGAccessibilty::Height(), FB::CGAccessibilty::Width(),
0, 0);
diff --git a/src/kernel/HALKit/AMD64/HalKernelMain.cpp b/src/kernel/HALKit/AMD64/HalKernelMain.cpp
index fabeb077..4c527572 100644
--- a/src/kernel/HALKit/AMD64/HalKernelMain.cpp
+++ b/src/kernel/HALKit/AMD64/HalKernelMain.cpp
@@ -18,6 +18,9 @@
#include <modules/ACPI/ACPIFactoryInterface.h>
#include <modules/CoreGfx/TextGfx.h>
+#include <BootKit/Shared/BootImg.rsrc>
+#include "NeKit/KernelPanic.h"
+
#ifndef __NE_MODULAR_KERNEL_COMPONENTS__
EXTERN_C Kernel::VoidPtr kInterruptVectorTable[];
@@ -154,6 +157,10 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) {
NeFileSystemMgr::Mount(new NeFileSystemMgr());
#endif
+ cg_init();
+ FBDrawBitMapInRegion(kBootLogo, BOOT_LOGO_WIDTH, BOOT_LOGO_HEIGHT, 10, 10);
+ cg_clear();
+
UserProcessScheduler::The().SwitchTeam(kRTUserTeam);
PEFLoader ldr("/system/init.out");
@@ -161,7 +168,7 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) {
if (ldr.IsLoaded())
rtl_create_user_process(ldr, UserProcess::ExecutableKind::kExecutableKind);
else
- ke_panic(RUNTIME_CHECK_PROCESS, "RuntimeCheck: Invalid Process Data!");
+ ke_panic(RUNTIME_CHECK_BAD_BEHAVIOR, "Invalid Init Process.");
UserProcessScheduler::The().SwitchTeam(kMidUserTeam);
diff --git a/src/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cpp b/src/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cpp
index 634fc9c4..4581deb0 100644
--- a/src/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cpp
+++ b/src/kernel/HALKit/ARM64/HalSchedulerCorePrimitives.cpp
@@ -7,6 +7,7 @@
#include <KernelKit/ProcessScheduler.h>
namespace Kernel {
+
/***********************************************************************************/
/// @brief Unimplemented function (crashes by default)
/// @param process The process handle.
@@ -26,4 +27,5 @@ EXTERN_C Bool hal_check_task(HAL::StackFramePtr stack_ptr) {
return stack_ptr->SP != 0 && stack_ptr->IP != 0;
}
+
} // namespace Kernel