diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-09-02 08:10:50 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-02 08:10:50 +0200 |
| commit | aead694f3cada63e4dc2d79653a5b0efe0d9f49f (patch) | |
| tree | 419c04a35244ca0f34dd537e5ee052fb732ebabc /dev/kernel/HALKit/AMD64 | |
| parent | 36f7cf9ca4eb917ffd09fdfa6abf04ee10f3dc7e (diff) | |
| parent | 1661e5d91d8e7984f916e3ccf78311b4b8c00940 (diff) | |
Merge pull request #60 from nekernel-org/dev
v0.0.4e4 — Langley
Diffstat (limited to 'dev/kernel/HALKit/AMD64')
| -rw-r--r-- | dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc | 16 | ||||
| -rw-r--r-- | dev/kernel/HALKit/AMD64/HalKernelMain.cc | 5 |
2 files changed, 12 insertions, 9 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); |
