diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-04-17 23:55:24 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-17 23:55:24 +0200 |
| commit | 8ccccad87b171890cbf5040e63b613307cdc5a30 (patch) | |
| tree | 4dfb464d36a409ab4686ff4e2cfbf0ed8310f6a8 /dev/kernel/src/UserProcessScheduler.cc | |
| parent | 496f814adf3b9cbcaab2e73188a6730d0a780912 (diff) | |
| parent | 2363e0ef10e1c34b4a6224199304cc6fda4526bb (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.cc | 12 |
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; |
