summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-09-02 08:10:50 +0200
committerGitHub <noreply@github.com>2025-09-02 08:10:50 +0200
commitaead694f3cada63e4dc2d79653a5b0efe0d9f49f (patch)
tree419c04a35244ca0f34dd537e5ee052fb732ebabc /dev/kernel/HALKit
parent36f7cf9ca4eb917ffd09fdfa6abf04ee10f3dc7e (diff)
parent1661e5d91d8e7984f916e3ccf78311b4b8c00940 (diff)
Merge pull request #60 from nekernel-org/dev
v0.0.4e4 — Langley
Diffstat (limited to 'dev/kernel/HALKit')
-rw-r--r--dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc16
-rw-r--r--dev/kernel/HALKit/AMD64/HalKernelMain.cc5
-rw-r--r--dev/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc2
-rw-r--r--dev/kernel/HALKit/ARM64/HalKernelMain.cc4
4 files changed, 16 insertions, 11 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc
index b837497e..7408639c 100644
--- a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc
+++ b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc
@@ -8,7 +8,7 @@
#include <KernelKit/ProcessScheduler.h>
#include <KernelKit/UserMgr.h>
#include <NeKit/KString.h>
-#include <SignalKit/Signals.h>
+#include <SignalKit/SignalGen.h>
EXTERN_C Kernel::Void idt_handle_breakpoint(Kernel::UIntPtr rip);
@@ -80,8 +80,9 @@ EXTERN_C void idt_handle_math(Kernel::UIntPtr rsp) {
hal_idt_send_eoi(8);
process.Leak().Signal.SignalArg = rsp;
- process.Leak().Signal.SignalID = SIGKILL;
- process.Leak().Signal.Status = process.Leak().Status;
+ process.Leak().Signal.SignalID = sig_generate_unique<SIGKILL>();
+ ;
+ process.Leak().Signal.Status = process.Leak().Status;
}
/// @brief Handle any generic fault.
@@ -95,8 +96,9 @@ EXTERN_C void idt_handle_generic(Kernel::UIntPtr rsp) {
Kernel::kout << "Kernel: Generic Process Fault.\r";
process.Leak().Signal.SignalArg = rsp;
- process.Leak().Signal.SignalID = SIGKILL;
- process.Leak().Signal.Status = process.Leak().Status;
+ process.Leak().Signal.SignalID = sig_generate_unique<SIGSEG>();
+ ;
+ process.Leak().Signal.Status = process.Leak().Status;
Kernel::kout << "Kernel: SIGKILL status.\r";
}
@@ -107,7 +109,7 @@ EXTERN_C Kernel::Void idt_handle_breakpoint(Kernel::UIntPtr rip) {
hal_idt_send_eoi(3);
process.Leak().Signal.SignalArg = rip;
- process.Leak().Signal.SignalID = SIGTRAP;
+ process.Leak().Signal.SignalID = sig_generate_unique<SIGTRAP>();
process.Leak().Signal.Status = process.Leak().Status;
@@ -123,7 +125,7 @@ EXTERN_C void idt_handle_ud(Kernel::UIntPtr rsp) {
hal_idt_send_eoi(6);
process.Leak().Signal.SignalArg = rsp;
- process.Leak().Signal.SignalID = SIGKILL;
+ process.Leak().Signal.SignalID = sig_generate_unique<SIGKILL>();
process.Leak().Signal.Status = process.Leak().Status;
}
diff --git a/dev/kernel/HALKit/AMD64/HalKernelMain.cc b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
index 3c6e7d36..f121fbb4 100644
--- a/dev/kernel/HALKit/AMD64/HalKernelMain.cc
+++ b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
@@ -14,7 +14,7 @@
#include <KernelKit/Timer.h>
#include <NetworkKit/IPC.h>
#include <StorageKit/AHCI.h>
-#include <misc/BenchKit/X64Chrono.h>
+#include <misc/BenchKit/HWChronometer.h>
#include <modules/ACPI/ACPIFactoryInterface.h>
#include <modules/CoreGfx/TextGfx.h>
@@ -41,7 +41,8 @@ EXTERN_C Int32 hal_init_platform(Kernel::HEL::BootInfoHeader* handover_hdr) {
Boot::ExitBootServices(handover_hdr->f_HardwareTables.f_ImageKey,
handover_hdr->f_HardwareTables.f_ImageHandle);
- kKernelVM = kHandoverHeader->f_PageStart;
+ kBitMapCursor = 0UL;
+ kKernelVM = kHandoverHeader->f_PageStart;
if (!kKernelVM) {
MUST_PASS(kKernelVM);
diff --git a/dev/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc b/dev/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc
index 0c26f4cb..dd875c63 100644
--- a/dev/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc
+++ b/dev/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc
@@ -8,7 +8,7 @@
#include <KernelKit/ProcessScheduler.h>
#include <KernelKit/UserMgr.h>
#include <NeKit/KString.h>
-#include <SignalKit/Signals.h>
+#include <SignalKit/SignalGen.h>
EXTERN_C Kernel::Void int_handle_breakpoint(Kernel::UIntPtr rip);
EXTERN_C BOOL mp_handle_gic_interrupt_el0(Void);
diff --git a/dev/kernel/HALKit/ARM64/HalKernelMain.cc b/dev/kernel/HALKit/ARM64/HalKernelMain.cc
index 20bd3d8a..d7663f4e 100644
--- a/dev/kernel/HALKit/ARM64/HalKernelMain.cc
+++ b/dev/kernel/HALKit/ARM64/HalKernelMain.cc
@@ -37,6 +37,8 @@ EXTERN_C void hal_init_platform(Kernel::HEL::BootInfoHeader* handover_hdr) {
FB::fb_clear_video();
+ kBitMapCursor = 0UL;
+
#ifdef __NE_ARM64_EFI__
fw_init_efi((EfiSystemTable*) handover_hdr->f_FirmwareCustomTables[1]);
@@ -74,4 +76,4 @@ EXTERN_C void hal_init_platform(Kernel::HEL::BootInfoHeader* handover_hdr) {
while (YES)
;
}
-#endif \ No newline at end of file
+#endif