diff options
| author | Amlal El Mahrouss <zka-holder@mahrouss-logic.com> | 2024-10-14 05:58:38 +0000 |
|---|---|---|
| committer | Amlal El Mahrouss <zka-holder@mahrouss-logic.com> | 2024-10-14 05:58:38 +0000 |
| commit | d9d82713326069478e6dd212763d1fac15e65370 (patch) | |
| tree | 37775f4299281598b0f5121df4c188392daebd04 /dev/zka/KernelKit/UserProcessScheduler.hxx | |
| parent | 7477a0f942c374b652da4f80cdb36d4661aac3c8 (diff) | |
IMP: Basic ARM64 port.
Diffstat (limited to 'dev/zka/KernelKit/UserProcessScheduler.hxx')
| -rw-r--r-- | dev/zka/KernelKit/UserProcessScheduler.hxx | 34 |
1 files changed, 12 insertions, 22 deletions
diff --git a/dev/zka/KernelKit/UserProcessScheduler.hxx b/dev/zka/KernelKit/UserProcessScheduler.hxx index 6bab5856..84d674cc 100644 --- a/dev/zka/KernelKit/UserProcessScheduler.hxx +++ b/dev/zka/KernelKit/UserProcessScheduler.hxx @@ -14,7 +14,7 @@ #define kSchedMinMicroTime (AffinityKind::kStandard) #define kSchedInvalidPID (-1) -#define kSchedProcessLimitPerTeam (16U) +#define kSchedProcessLimitPerTeam (32U) #define kSchedMaxMemoryLimit gib_cast(128) #define kSchedMaxStackSz mib_cast(8) @@ -157,7 +157,7 @@ namespace Kernel SizeT StackSize{kSchedMaxStackSz}; - //! @brief Shared library handle, reserved for eExecutableDLLKind types of executables only. + //! @brief Shared library handle, reserved for kExectuableDLLKind types of executables only. IPEFDLLObject* PefDLLDelegate{nullptr}; // Memory usage. @@ -178,15 +178,15 @@ namespace Kernel enum { - eExecutableKind, - eExecutableDLLKind, - eExecutableKindCount, + kExectuableKind, + kExectuableDLLKind, + kExectuableKindCount, }; ProcessTime PTime{0}; //! @brief Process allocated tine. PID ProcessId{kSchedInvalidPID}; - Int32 Kind{eExecutableKind}; + Int32 Kind{kExectuableKind}; public: //! @brief boolean operator, check status. @@ -263,7 +263,6 @@ namespace Kernel public: explicit UserProcessScheduler() = default; - ~UserProcessScheduler() = default; ZKA_COPY_DEFAULT(UserProcessScheduler) @@ -275,23 +274,13 @@ namespace Kernel UserProcessTeam& CurrentTeam(); public: - SizeT Add(UserProcess processRef); - Bool Remove(ProcessID processSlot); - - const Bool IsUser() override - { - return Yes; - } + SizeT Add(UserProcess process); + Bool Remove(ProcessID process_id); - const Bool IsKernel() override - { - return No; - } + const Bool IsUser() override; + const Bool IsKernel() override; + const Bool HasMP() override; - const Bool HasMP() override - { - return kHandoverHeader->f_HardwareTables.f_MultiProcessingEnabled; - } public: Ref<UserProcess>& CurrentProcess(); @@ -315,6 +304,7 @@ namespace Kernel STATIC bool CanBeScheduled(const UserProcess& process); STATIC PID& TheCurrentPID(); STATIC SizeT StartScheduling(); + STATIC Bool InitializeScheduling(); }; const UInt32& sched_get_exit_code(void) noexcept; |
