diff options
Diffstat (limited to 'dev/kernel/HALKit')
6 files changed, 47 insertions, 21 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc index 46775a7f..7114f9f7 100644 --- a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc +++ b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc @@ -24,9 +24,9 @@ EXTERN_C void idt_handle_gpf(Kernel::UIntPtr rsp) Kernel::kout << "Kernel: General Protection Fault.\r"; - process.Leak().ProcessSignal.SignalArg = rsp; - process.Leak().ProcessSignal.SignalID = SIGKILL; - process.Leak().ProcessSignal.PreviousStatus = process.Leak().Status; + process.Leak().Signal.SignalArg = rsp; + process.Leak().Signal.SignalID = SIGKILL; + process.Leak().Signal.PreviousStatus = process.Leak().Status; Kernel::kout << "Kernel: SIGKILL status.\r"; @@ -49,9 +49,9 @@ EXTERN_C void idt_handle_pf(Kernel::UIntPtr rsp) Kernel::kout << "Kernel: Page Fault.\r"; Kernel::kout << "Kernel: SIGKILL\r"; - process.Leak().ProcessSignal.SignalArg = rsp; - process.Leak().ProcessSignal.SignalID = SIGKILL; - process.Leak().ProcessSignal.PreviousStatus = process.Leak().Status; + process.Leak().Signal.SignalArg = rsp; + process.Leak().Signal.SignalID = SIGKILL; + process.Leak().Signal.PreviousStatus = process.Leak().Status; process.Leak().Status = Kernel::ProcessStatusKind::kKilled; @@ -99,9 +99,9 @@ EXTERN_C void idt_handle_math(Kernel::UIntPtr rsp) Kernel::kout << "Kernel: Math error (division by zero?).\r"; - process.Leak().ProcessSignal.SignalArg = rsp; - process.Leak().ProcessSignal.SignalID = SIGKILL; - process.Leak().ProcessSignal.PreviousStatus = process.Leak().Status; + process.Leak().Signal.SignalArg = rsp; + process.Leak().Signal.SignalID = SIGKILL; + process.Leak().Signal.PreviousStatus = process.Leak().Status; Kernel::kout << "Kernel: SIGKILL status.\r"; @@ -123,9 +123,9 @@ EXTERN_C void idt_handle_generic(Kernel::UIntPtr rsp) Kernel::kout << "Kernel: Generic Process Fault.\r"; - process.Leak().ProcessSignal.SignalArg = rsp; - process.Leak().ProcessSignal.SignalID = SIGKILL; - process.Leak().ProcessSignal.PreviousStatus = process.Leak().Status; + process.Leak().Signal.SignalArg = rsp; + process.Leak().Signal.SignalID = SIGKILL; + process.Leak().Signal.PreviousStatus = process.Leak().Status; Kernel::kout << "Kernel: SIGKILL status.\r"; @@ -151,10 +151,10 @@ EXTERN_C Kernel::Void idt_handle_breakpoint(Kernel::UIntPtr rip) (void)(Kernel::kout << "Kernel: Process RIP: " << Kernel::hex_number(rip) << Kernel::kendl); Kernel::kout << "Kernel: SIGTRAP\r"; - process.Leak().ProcessSignal.SignalArg = rip; - process.Leak().ProcessSignal.SignalID = SIGTRAP; + process.Leak().Signal.SignalArg = rip; + process.Leak().Signal.SignalID = SIGTRAP; - process.Leak().ProcessSignal.PreviousStatus = process.Leak().Status; + process.Leak().Signal.PreviousStatus = process.Leak().Status; Kernel::kout << "Kernel: SIGTRAP status.\r"; @@ -174,9 +174,9 @@ EXTERN_C void idt_handle_ud(Kernel::UIntPtr rsp) Kernel::kout << "Kernel: Undefined Opcode.\r"; - process.Leak().ProcessSignal.SignalArg = rsp; - process.Leak().ProcessSignal.SignalID = SIGKILL; - process.Leak().ProcessSignal.PreviousStatus = process.Leak().Status; + process.Leak().Signal.SignalArg = rsp; + process.Leak().Signal.SignalID = SIGKILL; + process.Leak().Signal.PreviousStatus = process.Leak().Status; Kernel::kout << "Kernel: SIGKILL status.\r"; diff --git a/dev/kernel/HALKit/AMD64/HalKernelMain.cc b/dev/kernel/HALKit/AMD64/HalKernelMain.cc index c2be925a..20994d9b 100644 --- a/dev/kernel/HALKit/AMD64/HalKernelMain.cc +++ b/dev/kernel/HALKit/AMD64/HalKernelMain.cc @@ -27,7 +27,7 @@ STATIC Kernel::Void hal_pre_init_scheduler() { for (Kernel::SizeT i = 0U; i < Kernel::UserProcessScheduler::The().CurrentTeam().AsArray().Count(); ++i) { - Kernel::UserProcessScheduler::The().CurrentTeam().AsArray()[i] = Kernel::UserProcess(); + Kernel::UserProcessScheduler::The().CurrentTeam().AsArray()[i] = Kernel::USER_PROCESS(); Kernel::UserProcessScheduler::The().CurrentTeam().AsArray()[i].Status = Kernel::ProcessStatusKind::kKilled; } } diff --git a/dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitivesAMD64.cc b/dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitivesAMD64.cc index c2739f27..56ed4b34 100644 --- a/dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitivesAMD64.cc +++ b/dev/kernel/HALKit/AMD64/HalSchedulerCorePrimitivesAMD64.cc @@ -14,7 +14,7 @@ namespace Kernel /// @param /***********************************************************************************/ - EXTERN_C Void __zka_pure_call(UserProcess* process) + EXTERN_C Void __zka_pure_call(USER_PROCESS* process) { if (process) process->Crash(); diff --git a/dev/kernel/HALKit/AMD64/Storage/SCSI+Generic.cc b/dev/kernel/HALKit/AMD64/Storage/SCSI+Generic.cc new file mode 100644 index 00000000..cb387e73 --- /dev/null +++ b/dev/kernel/HALKit/AMD64/Storage/SCSI+Generic.cc @@ -0,0 +1,13 @@ +/* ------------------------------------------- + + Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. + +------------------------------------------- */ + +#include <modules/SCSI/SCSI.h> + +using namespace Kernel; + +///! @brief ATAPI SCSI packet. +const ATTRIBUTE(unused) scsi_packet_type_12 kCDRomPacketTemplate = {0x43, 0, 1, 0, 0, 0, + 0, 12, 0x40, 0, 0}; diff --git a/dev/kernel/HALKit/ARM64/HalSchedulerCorePrimitivesARM64.cc b/dev/kernel/HALKit/ARM64/HalSchedulerCorePrimitivesARM64.cc index 2f5c92e5..84aae986 100644 --- a/dev/kernel/HALKit/ARM64/HalSchedulerCorePrimitivesARM64.cc +++ b/dev/kernel/HALKit/ARM64/HalSchedulerCorePrimitivesARM64.cc @@ -14,7 +14,7 @@ namespace Kernel /// @param void
/***********************************************************************************/
- EXTERN_C Void __zka_pure_call(UserProcess* process)
+ EXTERN_C Void __zka_pure_call(USER_PROCESS* process)
{
if (process)
process->Crash();
diff --git a/dev/kernel/HALKit/ARM64/Storage/SCSI+Generic.cc b/dev/kernel/HALKit/ARM64/Storage/SCSI+Generic.cc new file mode 100644 index 00000000..cb387e73 --- /dev/null +++ b/dev/kernel/HALKit/ARM64/Storage/SCSI+Generic.cc @@ -0,0 +1,13 @@ +/* ------------------------------------------- + + Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved. + +------------------------------------------- */ + +#include <modules/SCSI/SCSI.h> + +using namespace Kernel; + +///! @brief ATAPI SCSI packet. +const ATTRIBUTE(unused) scsi_packet_type_12 kCDRomPacketTemplate = {0x43, 0, 1, 0, 0, 0, + 0, 12, 0x40, 0, 0}; |
