summaryrefslogtreecommitdiffhomepage
path: root/dev/zka/KernelKit/UserProcessScheduler.hxx
diff options
context:
space:
mode:
authorAmlal El Mahrouss <zka-holder@mahrouss-logic.com>2024-10-14 05:58:38 +0000
committerAmlal El Mahrouss <zka-holder@mahrouss-logic.com>2024-10-14 05:58:38 +0000
commitd9d82713326069478e6dd212763d1fac15e65370 (patch)
tree37775f4299281598b0f5121df4c188392daebd04 /dev/zka/KernelKit/UserProcessScheduler.hxx
parent7477a0f942c374b652da4f80cdb36d4661aac3c8 (diff)
IMP: Basic ARM64 port.
Diffstat (limited to 'dev/zka/KernelKit/UserProcessScheduler.hxx')
-rw-r--r--dev/zka/KernelKit/UserProcessScheduler.hxx34
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;