summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKAKit/KernelKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-12-07 18:07:22 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-12-07 18:07:22 +0100
commit4c7ea58f5d5e495e8da6cfc7e1d52a3dfcf5a893 (patch)
tree40c91fce5ac9e622e49515608033f8c98af5a8f1 /dev/ZKAKit/KernelKit
parent63be0a396d95db7b629ffe64dcc543e251936b36 (diff)
IMPL: New I/O functions from assembly, still working on #8 issue.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZKAKit/KernelKit')
-rw-r--r--dev/ZKAKit/KernelKit/LoaderInterface.h6
-rw-r--r--dev/ZKAKit/KernelKit/UserProcessScheduler.h16
-rw-r--r--dev/ZKAKit/KernelKit/UserProcessScheduler.inl4
3 files changed, 14 insertions, 12 deletions
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<VoidPtr> 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<VoidPtr> 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<UserProcess*, kSchedProcessLimitPerTeam>& AsArray();
- Ref<UserProcess>& AsRef();
- ProcessID& Id() noexcept;
+ Ref<UserProcess>& AsRef();
+ ProcessID& Id() noexcept;
public:
Array<UserProcess*, kSchedProcessLimitPerTeam> mProcessList;
- Ref<UserProcess> mCurrentProcess;
- ProcessID mTeamId{0};
+ Ref<UserProcess> 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