summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/Sources/PEFCodeMgr.cxx
diff options
context:
space:
mode:
authorAmlal <amlal@el-mahrouss-logic.com>2024-09-14 20:11:35 +0200
committerAmlal <amlal@el-mahrouss-logic.com>2024-09-14 20:11:35 +0200
commite05aa2145b8d0000110b93fb371ba858cb2a02bc (patch)
tree39d68355c6afe6f1e21f87d214a5b546b4a814d9 /dev/ZKA/Sources/PEFCodeMgr.cxx
parent6c51d0d2fde9b9a0201721cc625e73b585fdc479 (diff)
IMP: Fixes and improvements on PEF Loader, User scheduler and BMP manager.
- This covers the Memory Manager, User Scheduler Manager and Loader Manager. - These are mostly fixes and added features. - Such as a new symbol to get heap reserve. META: Run format command. Signed-off-by: Amlal <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'dev/ZKA/Sources/PEFCodeMgr.cxx')
-rw-r--r--dev/ZKA/Sources/PEFCodeMgr.cxx18
1 files changed, 11 insertions, 7 deletions
diff --git a/dev/ZKA/Sources/PEFCodeMgr.cxx b/dev/ZKA/Sources/PEFCodeMgr.cxx
index c635dd69..fa9b0d93 100644
--- a/dev/ZKA/Sources/PEFCodeMgr.cxx
+++ b/dev/ZKA/Sources/PEFCodeMgr.cxx
@@ -15,6 +15,7 @@
/// @brief PEF stack size symbol.
#define cPefStackSizeSymbol "SizeOfReserveStack"
+#define cPefHeapSizeSymbol "SizeOfReserveHeap"
#define cPefNameSymbol "ProgramName"
namespace Kernel
@@ -206,8 +207,9 @@ namespace Kernel
UserProcess proc;
proc.SetImageStart(errOrStart.Leak().Leak());
- proc.Kind = procKind;
- proc.StackSize = *(UIntPtr*)exec.FindSymbol(cPefStackSizeSymbol, kPefData);
+ proc.Kind = procKind;
+ proc.StackSize = *(UIntPtr*)exec.FindSymbol(cPefStackSizeSymbol, kPefData);
+ proc.MemoryLimit = *(UIntPtr*)exec.FindSymbol(cPefHeapSizeSymbol, kPefData);
rt_set_memory(proc.Name, 0, kProcessLen);
@@ -235,15 +237,17 @@ namespace Kernel
const Char* PEFLoader::AsString()
{
#ifdef __32x0__
- return "32x0 PEF format.";
+ return "32x0 PEF executable.";
#elif defined(__64x0__)
- return "64x0 PEF format.";
+ return "64x0 PEF executable.";
#elif defined(__x86_64__)
- return "x86_64 PEF format.";
+ return "x86_64 PEF executable.";
+#elif defined(__aarch64__)
+ return "aarch64 PEF executable.";
#elif defined(__powerpc64__)
- return "POWER PEF format.";
+ return "POWER64 PEF executable.";
#else
- return "Unknown PEF format.";
+ return "???? PEF executable.";
#endif // __32x0__ || __64x0__ || __x86_64__ || __powerpc64__
}