diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-17 16:41:51 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-17 16:41:51 +0100 |
| commit | 31a2d2897b213eb37fe5b1d94fd096deaae7b2c2 (patch) | |
| tree | 2ac3c95db59ea825cb7639ba7e8f589a090ae902 /dev/kernel/src/CodeMgr.cc | |
| parent | 062c4bb508bf6ec7334d374fef2e0e10623b2df9 (diff) | |
| parent | 00b182203540d6632f87700aad501faccbf2394d (diff) | |
Merge pull request #70 from nekernel-org/dev
dev: kernel_task_scheduler & ne_launch
Diffstat (limited to 'dev/kernel/src/CodeMgr.cc')
| -rw-r--r-- | dev/kernel/src/CodeMgr.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/dev/kernel/src/CodeMgr.cc b/dev/kernel/src/CodeMgr.cc index 7f85d547..02ed4c62 100644 --- a/dev/kernel/src/CodeMgr.cc +++ b/dev/kernel/src/CodeMgr.cc @@ -9,6 +9,17 @@ #include <NeKit/Utils.h> namespace Kernel { + +/// @brief Executes a new process from a function. Kernel code only. +/// @note This sets up a new stack, anything on the main function that calls the Kernel will not be +/// accessible. +/// @param main the start of the process. +/// @return The team's process id. +BOOL rtl_create_kernel_task(HAL::StackFramePtr task, const KID kid) noexcept { + if (!kid || task == nullptr) return FALSE; + return KernelTaskHelper::Add(task, kid); +} + /***********************************************************************************/ /// @brief Executes a new process from a function. Kernel code only. /// @note This sets up a new stack, anything on the main function that calls the Kernel will not be @@ -19,7 +30,6 @@ namespace Kernel { ProcessID rtl_create_user_process(rtl_main_kind main, const Char* process_name) noexcept { if (!process_name || *process_name == 0) return kSchedInvalidPID; - return UserProcessScheduler::The().Spawn(process_name, reinterpret_cast<VoidPtr>(main), nullptr); } } // namespace Kernel |
