summaryrefslogtreecommitdiffhomepage
path: root/dev/zka/src/PEFCodeMgr.cc
diff options
context:
space:
mode:
authorAmlal <amlal.elmahrouss@icloud.com>2024-10-26 19:49:02 +0200
committerAmlal <amlal.elmahrouss@icloud.com>2024-10-26 19:49:02 +0200
commit6dcf5b87da65de2254d6102f567183eaeca03088 (patch)
treeb281ecd4cf0bcd60eaa476979f4f2183b0f4d04d /dev/zka/src/PEFCodeMgr.cc
parent88b5be35623fb573cfa0d53cfc407ae1005ccad9 (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.cc13
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