diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-11-03 11:47:03 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-11-03 11:47:03 +0100 |
| commit | 140d983c55e0f9a2d1829c997d7751f234703fb6 (patch) | |
| tree | fdf017bbb0f497bd7c292af136cf6108c4e8e610 /dev/ZKAKit/KernelKit | |
| parent | fc3abbd067a4cc0d3b502afc8af5bc1e77e2d2fc (diff) | |
FIX: User Scheduler, fix process creation.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZKAKit/KernelKit')
| -rw-r--r-- | dev/ZKAKit/KernelKit/HardwareThreadScheduler.h | 6 | ||||
| -rw-r--r-- | dev/ZKAKit/KernelKit/PCI/DMA.h | 2 | ||||
| -rw-r--r-- | dev/ZKAKit/KernelKit/PEFCodeMgr.h | 2 | ||||
| -rw-r--r-- | dev/ZKAKit/KernelKit/User.h | 1 | ||||
| -rw-r--r-- | dev/ZKAKit/KernelKit/UserProcessScheduler.h | 14 |
5 files changed, 12 insertions, 13 deletions
diff --git a/dev/ZKAKit/KernelKit/HardwareThreadScheduler.h b/dev/ZKAKit/KernelKit/HardwareThreadScheduler.h index bd669018..5ea7553f 100644 --- a/dev/ZKAKit/KernelKit/HardwareThreadScheduler.h +++ b/dev/ZKAKit/KernelKit/HardwareThreadScheduler.h @@ -14,7 +14,7 @@ /// @note Last Rev Sun 28 Jul CET 2024 /// @note Last Rev Thu, Aug 1, 2024 9:07:38 AM -#define cMaxHartInsideSched (8U) +#define kMaxHartInsideSched (8U) namespace Kernel { @@ -105,7 +105,7 @@ namespace Kernel public: Ref<HardwareThread*> operator[](const SizeT& idx); bool operator!() noexcept; - operator bool() noexcept; + operator bool() noexcept; const Bool IsUser() override { @@ -133,7 +133,7 @@ namespace Kernel SizeT Count() noexcept; private: - Array<HardwareThread, cMaxHartInsideSched> fThreadList; + Array<HardwareThread, kMaxHartInsideSched> fThreadList; ThreadID fCurrentThread{0}; }; diff --git a/dev/ZKAKit/KernelKit/PCI/DMA.h b/dev/ZKAKit/KernelKit/PCI/DMA.h index 2d71e0d6..89e38cb9 100644 --- a/dev/ZKAKit/KernelKit/PCI/DMA.h +++ b/dev/ZKAKit/KernelKit/PCI/DMA.h @@ -52,7 +52,7 @@ namespace Kernel T* Get(const UIntPtr off = 0); public: - operator bool(); + operator bool(); bool operator!(); public: diff --git a/dev/ZKAKit/KernelKit/PEFCodeMgr.h b/dev/ZKAKit/KernelKit/PEFCodeMgr.h index 568b77da..6887f521 100644 --- a/dev/ZKAKit/KernelKit/PEFCodeMgr.h +++ b/dev/ZKAKit/KernelKit/PEFCodeMgr.h @@ -60,7 +60,7 @@ namespace Kernel namespace Utils { - ProcessID execute_from_image(PEFLoader& exec, const Int32& procKind) noexcept; + ProcessID rtl_create_process(PEFLoader& exec, const Int32& procKind) noexcept; } // namespace Utils } // namespace Kernel diff --git a/dev/ZKAKit/KernelKit/User.h b/dev/ZKAKit/KernelKit/User.h index ebb8cee2..48475b2e 100644 --- a/dev/ZKAKit/KernelKit/User.h +++ b/dev/ZKAKit/KernelKit/User.h @@ -27,6 +27,7 @@ namespace Kernel enum class UserRingKind { + kRingInvalid = 0, kRingStdUser = 1, kRingSuperUser = 2, kRingGuestUser = 5, diff --git a/dev/ZKAKit/KernelKit/UserProcessScheduler.h b/dev/ZKAKit/KernelKit/UserProcessScheduler.h index 3ec92e8c..9880b565 100644 --- a/dev/ZKAKit/KernelKit/UserProcessScheduler.h +++ b/dev/ZKAKit/KernelKit/UserProcessScheduler.h @@ -122,8 +122,7 @@ namespace Kernel }; // Helper types. - using ImagePtr = VoidPtr; - using HeapPtrKind = VoidPtr; + using ImagePtr = VoidPtr; /// @name UserProcess /// @brief User process header. @@ -131,7 +130,7 @@ namespace Kernel class UserProcess final { public: - explicit UserProcess(VoidPtr startImage = nullptr); + UserProcess(VoidPtr start_image = nullptr); ~UserProcess(); public: @@ -241,7 +240,6 @@ namespace Kernel public: Array<UserProcess, kSchedProcessLimitPerTeam> mProcessList; Ref<UserProcess> mCurrentProcess; - SizeT mProcessAmount{0}; ProcessID mTeamId{0}; }; @@ -259,7 +257,7 @@ namespace Kernel ZKA_COPY_DEFAULT(UserProcessScheduler) - operator bool(); + operator bool(); bool operator!(); public: @@ -281,7 +279,7 @@ namespace Kernel STATIC UserProcessScheduler& The(); private: - UserProcessTeam mTeam; + UserProcessTeam mTeam{}; }; /* @@ -291,8 +289,8 @@ namespace Kernel class UserProcessHelper final { public: - STATIC bool Switch(VoidPtr image_ptr, UInt8* stack_ptr, HAL::StackFramePtr frame_ptr, const PID& new_pid); - STATIC bool CanBeScheduled(const UserProcess& process); + STATIC bool Switch(VoidPtr image_ptr, UInt8* stack_ptr, HAL::StackFramePtr frame_ptr, const PID& new_pid); + STATIC bool CanBeScheduled(const UserProcess& process); STATIC PID& TheCurrentPID(); STATIC SizeT StartScheduling(); }; |
