diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-31 09:47:51 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-31 09:47:51 +0200 |
| commit | 11034c004ee7b232e53d69e9f1ae9000f008285f (patch) | |
| tree | 40a011167c9dbfbfa998e71754ab8cb5a6bcfac2 /dev/kernel/HALKit | |
| parent | d9c1f9ec143f02e66c0178557b76124b3e45a32d (diff) | |
feat: kernel: Revamped `SignalKit` framework. DDK revamp.
ci: testing improvements.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/HALKit')
| -rw-r--r-- | dev/kernel/HALKit/AMD64/HalCoreInterruptHandler.cc | 16 | ||||
| -rw-r--r-- | dev/kernel/HALKit/ARM64/HalCoreInterruptHandler.cc | 2 | ||||
| -rw-r--r-- | dev/kernel/HALKit/ARM64/HalKernelMain.cc | 4 |
3 files changed, 13 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/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 |
