summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/UserProcessScheduler.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-04-17 23:55:24 +0200
committerGitHub <noreply@github.com>2025-04-17 23:55:24 +0200
commit8ccccad87b171890cbf5040e63b613307cdc5a30 (patch)
tree4dfb464d36a409ab4686ff4e2cfbf0ed8310f6a8 /dev/kernel/src/UserProcessScheduler.cc
parent496f814adf3b9cbcaab2e73188a6730d0a780912 (diff)
parent2363e0ef10e1c34b4a6224199304cc6fda4526bb (diff)
Merge pull request #21 from amlel-el-mahrouss/dev
kernel, boot: recovering lost changes because of some git issue.
Diffstat (limited to 'dev/kernel/src/UserProcessScheduler.cc')
-rw-r--r--dev/kernel/src/UserProcessScheduler.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/dev/kernel/src/UserProcessScheduler.cc b/dev/kernel/src/UserProcessScheduler.cc
index b2052723..5e8cc89e 100644
--- a/dev/kernel/src/UserProcessScheduler.cc
+++ b/dev/kernel/src/UserProcessScheduler.cc
@@ -255,7 +255,7 @@ namespace Kernel
this->StackFrame = nullptr;
this->StackReserve = nullptr;
- if (this->Kind == kExectuableDylibKind)
+ if (this->Kind == kExecutableDylibKind)
{
Bool success = false;
@@ -325,6 +325,8 @@ namespace Kernel
return kErrorProcessFault;
}
+ rt_set_memory(process.StackFrame, 0, sizeof(HAL::StackFrame));
+
#ifdef __NE_VIRTUAL_MEMORY_SUPPORT__
flags = HAL::kMMFlagsPresent;
flags |= HAL::kMMFlagsWr;
@@ -336,11 +338,14 @@ namespace Kernel
// React according to process kind.
switch (process.Kind)
{
- case Process::kExectuableDylibKind: {
+ case Process::kExecutableDylibKind: {
process.DylibDelegate = rtl_init_dylib(process);
MUST_PASS(process.DylibDelegate);
break;
}
+ case Process::kExecutableKind: {
+ break;
+ }
default: {
(void)(kout << "Unknown process kind: " << hex_number(process.Kind) << kendl);
break;
@@ -348,7 +353,6 @@ namespace Kernel
}
process.StackReserve = new UInt8[process.StackSize];
- rt_set_memory(process.StackReserve, 0, process.StackSize);
if (!process.StackReserve)
{
@@ -356,6 +360,8 @@ namespace Kernel
return kErrorProcessFault;
}
+ rt_set_memory(process.StackReserve, 0, process.StackSize);
+
#ifdef __NE_VIRTUAL_MEMORY_SUPPORT__
flags = HAL::kMMFlagsPresent;
flags |= HAL::kMMFlagsWr;