diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-14 12:56:18 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-14 12:56:26 +0200 |
| commit | 2b91067c894efde74e96fd9216598a5782699c7b (patch) | |
| tree | 860071ad5c0071fa52057377d91af0e976f4919d /dev/kernel | |
| parent | 2254f391e710d9c357d1b806b47786270d77d2b7 (diff) | |
feat(kernel): Set SubSystem according to TASK/PROCESS structure.
also:
- Introduce the KernelTaskScheduler soon.
- Reintroduce ZXD binaries for signed drivers.
- Made the arguments name inside kernel spawn function inside CodeMgr
clearer.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel')
| -rw-r--r-- | dev/kernel/KernelKit/CodeMgr.h | 2 | ||||
| -rw-r--r-- | dev/kernel/KernelKit/CoreProcessScheduler.h | 3 | ||||
| -rw-r--r-- | dev/kernel/KernelKit/KernelTaskScheduler.h | 2 | ||||
| -rw-r--r-- | dev/kernel/KernelKit/UserProcessScheduler.h | 8 |
4 files changed, 8 insertions, 7 deletions
diff --git a/dev/kernel/KernelKit/CodeMgr.h b/dev/kernel/KernelKit/CodeMgr.h index bb287b24..ff70707b 100644 --- a/dev/kernel/KernelKit/CodeMgr.h +++ b/dev/kernel/KernelKit/CodeMgr.h @@ -33,7 +33,7 @@ typedef void (*rtl_dtor_kind)(void); /// accessible. /// @param main the start of the process. /// @return The team's process id. -ProcessID rtl_create_kernel_process(rtl_main_kind main, const Char* process_name) noexcept; +ProcessID rtl_create_kernel_process(rtl_main_kind main, const Char* task_name) noexcept; /// @brief Executes a new process from a function. User code only. /// @note This sets up a new stack, anything on the main function that calls the Kernel will not be diff --git a/dev/kernel/KernelKit/CoreProcessScheduler.h b/dev/kernel/KernelKit/CoreProcessScheduler.h index 4fd6321c..3f55c099 100644 --- a/dev/kernel/KernelKit/CoreProcessScheduler.h +++ b/dev/kernel/KernelKit/CoreProcessScheduler.h @@ -22,6 +22,7 @@ namespace Kernel { class USER_PROCESS; class KERNEL_TASK; +class KernelTaskScheduler; class UserProcessScheduler; class UserProcessTeam; @@ -96,7 +97,7 @@ struct PROCESS_FILE_TREE { enum class ProcessSubsystem : Int32 { kProcessSubsystemSecurity = 100, - kProcessSubsystemApplication, + kProcessSubsystemUser, kProcessSubsystemService, kProcessSubsystemDriver, kProcessSubsystemInvalid = 0xFFFFFFF, diff --git a/dev/kernel/KernelKit/KernelTaskScheduler.h b/dev/kernel/KernelKit/KernelTaskScheduler.h index ed33ceba..942cd8b4 100644 --- a/dev/kernel/KernelKit/KernelTaskScheduler.h +++ b/dev/kernel/KernelKit/KernelTaskScheduler.h @@ -19,7 +19,7 @@ struct KERNEL_TASK; struct KERNEL_TASK final { Char Name[kSchedNameLen] = {"KERNEL_TASK"}; - ProcessSubsystem SubSystem{ProcessSubsystem::kProcessSubsystemInvalid}; + ProcessSubsystem SubSystem{ProcessSubsystem::kProcessSubsystemDriver}; HAL::StackFramePtr StackFrame{nullptr}; UInt8* StackReserve{nullptr}; SizeT StackSize{kSchedMaxStackSz}; diff --git a/dev/kernel/KernelKit/UserProcessScheduler.h b/dev/kernel/KernelKit/UserProcessScheduler.h index f04f4a0a..a638f0dc 100644 --- a/dev/kernel/KernelKit/UserProcessScheduler.h +++ b/dev/kernel/KernelKit/UserProcessScheduler.h @@ -42,7 +42,7 @@ class USER_PROCESS final { public: Char Name[kSchedNameLen] = {"USER_PROCESS"}; - ProcessSubsystem SubSystem{ProcessSubsystem::kProcessSubsystemInvalid}; + ProcessSubsystem SubSystem{ProcessSubsystem::kProcessSubsystemUser}; User* Owner{nullptr}; HAL::StackFramePtr StackFrame{nullptr}; AffinityKind Affinity{AffinityKind::kStandard}; @@ -56,9 +56,9 @@ class USER_PROCESS final { SizeT UsedMemory{0UL}; struct USER_PROCESS_SIGNAL final { - UIntPtr SignalArg; - ProcessStatusKind Status; - UIntPtr SignalID; + UIntPtr SignalArg{0}; + ProcessStatusKind Status{ProcessStatusKind::kKilled}; + UIntPtr SignalID{0}; }; USER_PROCESS_SIGNAL Signal; |
