summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/src')
-rw-r--r--dev/kernel/src/BitMapMgr.cc2
-rw-r--r--dev/kernel/src/UserProcessScheduler.cc12
2 files changed, 10 insertions, 4 deletions
diff --git a/dev/kernel/src/BitMapMgr.cc b/dev/kernel/src/BitMapMgr.cc
index fe4b9625..96cbb803 100644
--- a/dev/kernel/src/BitMapMgr.cc
+++ b/dev/kernel/src/BitMapMgr.cc
@@ -78,7 +78,7 @@ namespace Kernel
if (user)
flags |= kMMFlagsUser;
- flags |= HAL::kMMFlagsUncached;
+ flags |= HAL::kMMFlagsPCD;
return flags;
}
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;