summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/KernelKit/KernelTaskScheduler.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2026-03-07 19:50:39 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2026-03-07 19:50:39 +0100
commit33cf55c0f5855a55e54a83eb3fee58776e789ed8 (patch)
tree2ebdb1f2b7715e80a74b670c44e9e76c41a09a7e /src/kernel/KernelKit/KernelTaskScheduler.h
parentb7d4f9943ca6d2561a31fc212b8e074e4984b850 (diff)
[CHORE] KernelTask system for DDK drivers.kernel-task-scheduler-impl
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
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