summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKAKit/KernelKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-11-03 11:47:03 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-11-03 11:47:03 +0100
commit140d983c55e0f9a2d1829c997d7751f234703fb6 (patch)
treefdf017bbb0f497bd7c292af136cf6108c4e8e610 /dev/ZKAKit/KernelKit
parentfc3abbd067a4cc0d3b502afc8af5bc1e77e2d2fc (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.h6
-rw-r--r--dev/ZKAKit/KernelKit/PCI/DMA.h2
-rw-r--r--dev/ZKAKit/KernelKit/PEFCodeMgr.h2
-rw-r--r--dev/ZKAKit/KernelKit/User.h1
-rw-r--r--dev/ZKAKit/KernelKit/UserProcessScheduler.h14
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();
};