summaryrefslogtreecommitdiffhomepage
path: root/dev
diff options
context:
space:
mode:
Diffstat (limited to 'dev')
-rw-r--r--dev/kernel/KernelKit/CoreProcessScheduler.h15
-rw-r--r--dev/kernel/KernelKit/KernelTaskScheduler.h15
-rw-r--r--dev/kernel/KernelKit/UserProcessScheduler.h10
-rw-r--r--dev/kernel/src/Network/IPCMsg.cc1
4 files changed, 27 insertions, 14 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 //
////////////////////////////////////////////////////
diff --git a/dev/kernel/src/Network/IPCMsg.cc b/dev/kernel/src/Network/IPCMsg.cc
index e89e7c1b..cff19cfa 100644
--- a/dev/kernel/src/Network/IPCMsg.cc
+++ b/dev/kernel/src/Network/IPCMsg.cc
@@ -101,7 +101,6 @@ Bool ipc_construct_packet(_Output IPC_MSG** pckt_in) {
Bool IPC_MSG::Pass(IPC_MSG* src, IPC_MSG* target) noexcept {
if (src && target && (target != src)) {
if (src->IpcMsgSz > target->IpcMsgSz) return No;
-
if (target->IpcMsgSz > src->IpcMsgSz) return No;
rt_copy_memory(src->IpcData, target->IpcData, src->IpcMsgSz);