summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/KernelKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-12-20 11:28:39 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-12-20 11:28:39 +0100
commit35b6093dad9035a36af3171982b914a89335d452 (patch)
tree1b6e847e8efffe04c9f741b2ab06f15e4e4d3987 /src/kernel/KernelKit
parentd0fb2f563bf93917d31e5c589a3896fe17e21993 (diff)
chore: kernel: apply vettable pattern to process structure.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel/KernelKit')
-rw-r--r--src/kernel/KernelKit/KernelTaskScheduler.h7
-rw-r--r--src/kernel/KernelKit/UserProcessScheduler.h9
2 files changed, 13 insertions, 3 deletions
diff --git a/src/kernel/KernelKit/KernelTaskScheduler.h b/src/kernel/KernelKit/KernelTaskScheduler.h
index a7fd97e1..861ccbda 100644
--- a/src/kernel/KernelKit/KernelTaskScheduler.h
+++ b/src/kernel/KernelKit/KernelTaskScheduler.h
@@ -17,7 +17,7 @@
namespace Kernel {
class KernelTaskHelper;
-typedef ProcessID KID;
+using KID = ProcessID;
/// @brief Equivalent of UserProcess, but for kernel tasks.
/// @author Amlal
@@ -34,6 +34,11 @@ class KernelTask final {
KID Kid{0};
};
+template <>
+struct Vettable<KernelTask> final {
+ static constexpr BOOL kValue = NO;
+};
+
/// @brief Equivalent of UserProcessHelper, but for kernel tasks.
/// @author Amlal
class KernelTaskHelper final {
diff --git a/src/kernel/KernelKit/UserProcessScheduler.h b/src/kernel/KernelKit/UserProcessScheduler.h
index 5cf0a447..56cd50e7 100644
--- a/src/kernel/KernelKit/UserProcessScheduler.h
+++ b/src/kernel/KernelKit/UserProcessScheduler.h
@@ -158,8 +158,13 @@ class UserProcess NE_VETTABLE {
friend UserProcessHelper;
};
-typedef Array<UserProcess, kSchedProcessLimitPerTeam> UserProcessArray;
-typedef Ref<UserProcess> UserProcessRef;
+template <>
+struct Vettable<UserProcess> final {
+ static constexpr BOOL kValue = YES;
+};
+
+using UserProcessArray = Array<UserProcess, kSchedProcessLimitPerTeam>;
+using UserProcessRef = Ref<UserProcess>;
/// \brief Processs Team (contains multiple processes inside it.)
/// Equivalent to a process batch