diff options
| author | Amlal <amlal.elmahrouss@icloud.com> | 2024-10-26 19:49:02 +0200 |
|---|---|---|
| committer | Amlal <amlal.elmahrouss@icloud.com> | 2024-10-26 19:49:02 +0200 |
| commit | 6dcf5b87da65de2254d6102f567183eaeca03088 (patch) | |
| tree | b281ecd4cf0bcd60eaa476979f4f2183b0f4d04d /dev/zka/src/PEFCodeMgr.cc | |
| parent | 88b5be35623fb573cfa0d53cfc407ae1005ccad9 (diff) | |
IMP: This commit contains fixes and improvements regarding the kernel, a next one will be done soon.
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/zka/src/PEFCodeMgr.cc')
| -rw-r--r-- | dev/zka/src/PEFCodeMgr.cc | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/dev/zka/src/PEFCodeMgr.cc b/dev/zka/src/PEFCodeMgr.cc index 593910be..44c14b42 100644 --- a/dev/zka/src/PEFCodeMgr.cc +++ b/dev/zka/src/PEFCodeMgr.cc @@ -201,16 +201,16 @@ namespace Kernel namespace Utils { - Bool execute_from_image(PEFLoader& exec, const Int32& procKind) noexcept + SizeT execute_from_image(PEFLoader& exec, const Int32& procKind) noexcept { auto errOrStart = exec.FindStart(); if (errOrStart.Error() != kErrorSuccess) - return false; + return No; UserProcess proc; - proc.SetImageStart(errOrStart.Leak().Leak()); + proc.Image = errOrStart.Leak().Leak(); proc.Kind = procKind; proc.StackSize = *(UIntPtr*)exec.FindSymbol(cPefStackSizeSymbol, kPefData); proc.MemoryLimit = *(UIntPtr*)exec.FindSymbol(cPefHeapSizeSymbol, kPefData); @@ -218,18 +218,15 @@ namespace Kernel rt_set_memory(proc.Name, 0, kProcessLen); if (exec.FindSymbol(cPefNameSymbol, kPefData)) - rt_copy_memory((VoidPtr)exec.FindSymbol(cPefNameSymbol, kPefData), proc.Name, rt_string_len((Char*)exec.FindSymbol(cPefNameSymbol, kPefData))); - else - rt_copy_memory((VoidPtr) "UNNAMED PROCESS.", proc.Name, rt_string_len("UNNAMED PROCESS.")); + rt_copy_memory(exec.FindSymbol(cPefNameSymbol, kPefData), proc.Name, rt_string_len((Char*)exec.FindSymbol(cPefNameSymbol, kPefData))); if (!proc.StackSize) { const auto cDefaultStackSizeMib = 8; - proc.StackSize = mib_cast(cDefaultStackSizeMib); } - return UserProcessScheduler::The().Add(proc) > 0; + return UserProcessScheduler::The().Add(proc); } } // namespace Utils |
