summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/KernelKit/KernelTaskScheduler.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2026-03-07 20:26:27 +0100
committerGitHub <noreply@github.com>2026-03-07 20:26:27 +0100
commitaee6c9ea7689fda46bbd79b9c4c7fd221260340f (patch)
treef60e1396cb102475fc27cb6a1336e7d3080d0b83 /src/kernel/KernelKit/KernelTaskScheduler.h
parentd36aa93e441f11c8f77ebf4f29dfbc239642a6b3 (diff)
parent33cf55c0f5855a55e54a83eb3fee58776e789ed8 (diff)
Merge pull request #129 from ne-foss-org/kernel-task-scheduler-impl
[CHORE] KernelTask system for DDK drivers.
Diffstat (limited to 'src/kernel/KernelKit/KernelTaskScheduler.h')
-rw-r--r--src/kernel/KernelKit/KernelTaskScheduler.h52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/kernel/KernelKit/KernelTaskScheduler.h b/src/kernel/KernelKit/KernelTaskScheduler.h
deleted file mode 100644
index cdd65522..00000000
--- a/src/kernel/KernelKit/KernelTaskScheduler.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org)
-// Licensed under the Apache License, Version 2.0 (see LICENSE file)
-// Official repository: https://github.com/ne-foss-org/nekernel
-
-#ifndef KERNELKIT_KERNELTASKSCHEDULER_H
-#define KERNELKIT_KERNELTASKSCHEDULER_H
-
-/// @file KernelTaskScheduler.h
-/// @brief Kernel Task Scheduler backend file.
-/// @author Amlal El Mahrouss (amlal@nekernel.org)
-
-#include <ArchKit/ArchKit.h>
-#include <KernelKit/CoreProcessScheduler.h>
-#include <KernelKit/LockDelegate.h>
-
-namespace Kernel {
-
-class KernelTaskHelper;
-
-using KID = ProcessID;
-
-/// @brief Equivalent of UserProcess, but for kernel tasks.
-/// @author Amlal
-class KernelTask final {
- public:
- Char Name[kSchedNameLen] = {"KernelTask"};
- ProcessSubsystem SubSystem{ProcessSubsystem::kProcessSubsystemKernel};
- HAL::StackFramePtr StackFrame{nullptr};
- UInt8* StackReserve{nullptr};
- SizeT StackSize{kSchedMaxStackSz};
- ProcessImage Image{};
-
- /// @brief a KID is a Kernel ID, it is used to find a task running within the kernel.
- KID Kid{};
-
- NE_NON_VETTABLE;
-};
-
-/// @brief Equivalent of UserProcessHelper, but for kernel tasks.
-/// @author Amlal
-class KernelTaskHelper final {
- public:
- STATIC Bool Add(HAL::StackFramePtr frame_ptr, KID kid);
- STATIC Bool Remove(const KID kid);
- STATIC Bool CanBeScheduled(const KernelTask& process);
- STATIC ErrorOr<KID> TheCurrentKID();
- STATIC SizeT StartScheduling();
-};
-
-} // namespace Kernel
-
-#endif