summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/KernelKit
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/KernelKit')
-rw-r--r--dev/kernel/KernelKit/CoreProcessScheduler.h15
-rw-r--r--dev/kernel/KernelKit/KernelTaskScheduler.h15
-rw-r--r--dev/kernel/KernelKit/UserProcessScheduler.h10
3 files changed, 27 insertions, 13 deletions
diff --git a/dev/kernel/KernelKit/CoreProcessScheduler.h b/dev/kernel/KernelKit/CoreProcessScheduler.h
index b3bc3e65..643c5479 100644
--- a/dev/kernel/KernelKit/CoreProcessScheduler.h
+++ b/dev/kernel/KernelKit/CoreProcessScheduler.h
@@ -9,9 +9,19 @@
#include <NewKit/Defines.h>
#include <NewKit/ErrorOr.h>
+#define kSchedMinMicroTime (AffinityKind::kStandard)
+#define kSchedInvalidPID (-1)
+#define kSchedProcessLimitPerTeam (32U)
+#define kSchedTeamCount (256U)
+
+#define kSchedMaxMemoryLimit gib_cast(128) /* max physical memory limit */
+#define kSchedMaxStackSz mib_cast(8) /* maximum stack size */
+
+#define kSchedNameLen (128U)
+
namespace Kernel {
class USER_PROCESS;
-class KERNEL_PROCESS;
+class KERNEL_TASK;
class UserProcessTeam;
/***********************************************************************************/
@@ -117,7 +127,8 @@ struct PROCESS_IMAGE final {
private:
friend USER_PROCESS;
- friend KERNEL_PROCESS;
+ friend KERNEL_TASK;
+
friend class UserProcessScheduler;
ImagePtr fCode;
diff --git a/dev/kernel/KernelKit/KernelTaskScheduler.h b/dev/kernel/KernelKit/KernelTaskScheduler.h
index ca10003f..ed33ceba 100644
--- a/dev/kernel/KernelKit/KernelTaskScheduler.h
+++ b/dev/kernel/KernelKit/KernelTaskScheduler.h
@@ -12,4 +12,17 @@
#include <ArchKit/ArchKit.h>
#include <KernelKit/CoreProcessScheduler.h>
-#include <KernelKit/LockDelegate.h> \ No newline at end of file
+#include <KernelKit/LockDelegate.h>
+
+namespace Kernel {
+struct KERNEL_TASK;
+
+struct KERNEL_TASK final {
+ Char Name[kSchedNameLen] = {"KERNEL_TASK"};
+ ProcessSubsystem SubSystem{ProcessSubsystem::kProcessSubsystemInvalid};
+ HAL::StackFramePtr StackFrame{nullptr};
+ UInt8* StackReserve{nullptr};
+ SizeT StackSize{kSchedMaxStackSz};
+ PROCESS_IMAGE Image{};
+};
+} // namespace Kernel \ No newline at end of file
diff --git a/dev/kernel/KernelKit/UserProcessScheduler.h b/dev/kernel/KernelKit/UserProcessScheduler.h
index 3ed3cbfe..42855e11 100644
--- a/dev/kernel/KernelKit/UserProcessScheduler.h
+++ b/dev/kernel/KernelKit/UserProcessScheduler.h
@@ -17,16 +17,6 @@
#include <KernelKit/User.h>
#include <NewKit/MutableArray.h>
-#define kSchedMinMicroTime (AffinityKind::kStandard)
-#define kSchedInvalidPID (-1)
-#define kSchedProcessLimitPerTeam (32U)
-#define kSchedTeamCount (256U)
-
-#define kSchedMaxMemoryLimit gib_cast(128) /* max physical memory limit */
-#define kSchedMaxStackSz mib_cast(8) /* maximum stack size */
-
-#define kSchedNameLen (128U)
-
////////////////////////////////////////////////////
// Last revision date is: Fri Mar 28 2025 //
////////////////////////////////////////////////////