diff options
Diffstat (limited to 'dev')
| -rw-r--r-- | dev/kernel/KernelKit/CoreProcessScheduler.h | 15 | ||||
| -rw-r--r-- | dev/kernel/KernelKit/KernelTaskScheduler.h | 15 | ||||
| -rw-r--r-- | dev/kernel/KernelKit/UserProcessScheduler.h | 10 | ||||
| -rw-r--r-- | dev/kernel/src/Network/IPCMsg.cc | 1 |
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); |
