From 4c7ea58f5d5e495e8da6cfc7e1d52a3dfcf5a893 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sat, 7 Dec 2024 18:07:22 +0100 Subject: IMPL: New I/O functions from assembly, still working on #8 issue. Signed-off-by: Amlal El Mahrouss --- dev/ZKAKit/KernelKit/LoaderInterface.h | 6 +++--- dev/ZKAKit/KernelKit/UserProcessScheduler.h | 16 +++++++++------- dev/ZKAKit/KernelKit/UserProcessScheduler.inl | 4 ++-- 3 files changed, 14 insertions(+), 12 deletions(-) (limited to 'dev/ZKAKit/KernelKit') diff --git a/dev/ZKAKit/KernelKit/LoaderInterface.h b/dev/ZKAKit/KernelKit/LoaderInterface.h index 9323aec7..f5a34495 100644 --- a/dev/ZKAKit/KernelKit/LoaderInterface.h +++ b/dev/ZKAKit/KernelKit/LoaderInterface.h @@ -25,9 +25,9 @@ namespace Kernel public: virtual _Output ErrorOr GetBlob() = 0; - virtual _Output const Char* AsString() = 0; - virtual _Output const Char* MIME() = 0; - virtual _Output const Char* Path() = 0; + virtual _Output const Char* AsString() = 0; + virtual _Output const Char* MIME() = 0; + virtual _Output const Char* Path() = 0; virtual _Output ErrorOr FindStart() = 0; virtual _Output VoidPtr FindSymbol(_Input const Char* name, _Input Int32 kind) = 0; }; diff --git a/dev/ZKAKit/KernelKit/UserProcessScheduler.h b/dev/ZKAKit/KernelKit/UserProcessScheduler.h index c1dd7711..d8e17995 100644 --- a/dev/ZKAKit/KernelKit/UserProcessScheduler.h +++ b/dev/ZKAKit/KernelKit/UserProcessScheduler.h @@ -185,7 +185,8 @@ namespace Kernel }; UserProcessSignal ProcessSignal; - UserProcessHeapList* MemoryHeap{nullptr}; + UserProcessHeapList* ProcessMemoryHeap{nullptr}; + UserProcessTeam* ProcessParentTeam; VoidPtr VMRegister{0UL}; @@ -254,19 +255,20 @@ namespace Kernel class UserProcessTeam final { public: - explicit UserProcessTeam() = default; - ~UserProcessTeam() = default; + explicit UserProcessTeam(); + ~UserProcessTeam() = default; ZKA_COPY_DEFAULT(UserProcessTeam); Array& AsArray(); - Ref& AsRef(); - ProcessID& Id() noexcept; + Ref& AsRef(); + ProcessID& Id() noexcept; public: Array mProcessList; - Ref mCurrentProcess; - ProcessID mTeamId{0}; + Ref mCurrentProcess; + ProcessID mTeamId{0}; + ProcessID mProcessCount{0}; }; using UserProcessPtr = UserProcess*; diff --git a/dev/ZKAKit/KernelKit/UserProcessScheduler.inl b/dev/ZKAKit/KernelKit/UserProcessScheduler.inl index 8da934ed..2973d6a4 100644 --- a/dev/ZKAKit/KernelKit/UserProcessScheduler.inl +++ b/dev/ZKAKit/KernelKit/UserProcessScheduler.inl @@ -11,7 +11,7 @@ namespace Kernel sz == 0) return No; - UserProcessHeapList* entry = this->MemoryHeap; + UserProcessHeapList* entry = this->ProcessMemoryHeap; while (entry != nullptr) { @@ -37,4 +37,4 @@ namespace Kernel return No; } -} // namespace Kernel \ No newline at end of file +} // namespace Kernel -- cgit v1.2.3