summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/PEFCodeMgr.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-15 13:56:17 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-15 13:56:17 +0200
commit6a30f42d5dcd0f944262147b2806db6c14fe7ffc (patch)
tree86d86a66df2941e49d1d332aaa1671c11db594e5 /dev/kernel/src/PEFCodeMgr.cc
parentf8aaa274535b6541f376090958eedbbba3ba00ba (diff)
feat(kernel): Finalizing the first version of the user scheduler.
other: - Removed DmaPool into its own Kit. - ApplicationProcessor unit has been cleaned up. - Rename functions of MemoryMgr. - Use KIB instead of MIBs of stack. - Cleanup parts of the scheduler, and hw scheduler. - Use UD handler for INT 6. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src/PEFCodeMgr.cc')
-rw-r--r--dev/kernel/src/PEFCodeMgr.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/dev/kernel/src/PEFCodeMgr.cc b/dev/kernel/src/PEFCodeMgr.cc
index 09a262d4..5ff54098 100644
--- a/dev/kernel/src/PEFCodeMgr.cc
+++ b/dev/kernel/src/PEFCodeMgr.cc
@@ -78,7 +78,7 @@ PEFLoader::PEFLoader(const Char* path) : fCachedBlob(nullptr), fFatBinary(false)
fBad = true;
- if (fCachedBlob) mm_delete_heap(fCachedBlob);
+ if (fCachedBlob) mm_delete_ptr(fCachedBlob);
kout << "PEFLoader: Warning: Executable format error!\r";
@@ -89,7 +89,7 @@ PEFLoader::PEFLoader(const Char* path) : fCachedBlob(nullptr), fFatBinary(false)
/// @brief PEF destructor.
/***********************************************************************************/
PEFLoader::~PEFLoader() {
- if (fCachedBlob) mm_delete_heap(fCachedBlob);
+ if (fCachedBlob) mm_delete_ptr(fCachedBlob);
fFile.Delete();
}
@@ -147,7 +147,7 @@ ErrorOr<VoidPtr> PEFLoader::FindSymbol(const Char* name, Int32 kind) {
if (container_header->Kind == kind) {
if (container_header->Cpu != Detail::ldr_get_platform()) {
if (!this->fFatBinary) {
- mm_delete_heap(blob);
+ mm_delete_ptr(blob);
return ErrorOr<VoidPtr>{kErrorInvalidData};
}
}
@@ -156,7 +156,7 @@ ErrorOr<VoidPtr> PEFLoader::FindSymbol(const Char* name, Int32 kind) {
rt_copy_memory((VoidPtr) ((Char*) blob + sizeof(PEFCommandHeader)), container_blob_value,
container_header->Size);
- mm_delete_heap(blob);
+ mm_delete_ptr(blob);
kout << "PEFLoader: Information: Loaded stub: " << container_header->Name << "!\r";
@@ -165,7 +165,7 @@ ErrorOr<VoidPtr> PEFLoader::FindSymbol(const Char* name, Int32 kind) {
HAL::kMMFlagsPresent | HAL::kMMFlagsUser);
if (ret != kErrorSuccess) {
- mm_delete_heap(container_blob_value);
+ mm_delete_ptr(container_blob_value);
return ErrorOr<VoidPtr>{kErrorInvalidData};
}
@@ -174,7 +174,7 @@ ErrorOr<VoidPtr> PEFLoader::FindSymbol(const Char* name, Int32 kind) {
}
}
- mm_delete_heap(blob);
+ mm_delete_ptr(blob);
return ErrorOr<VoidPtr>{kErrorInvalidData};
}
@@ -236,7 +236,7 @@ namespace Utils {
UserProcessScheduler::The().Spawn(reinterpret_cast<const Char*>(symname.Leak().Leak()),
errOrStart.Leak().Leak(), exec.GetBlob().Leak().Leak());
- mm_delete_heap(symname.Leak().Leak());
+ mm_delete_ptr(symname.Leak().Leak());
if (id != kSchedInvalidPID) {
auto stacksym = exec.FindSymbol(kPefStackSizeSymbol, kPefData);
@@ -253,7 +253,7 @@ namespace Utils {
UserProcessScheduler::The().CurrentTeam().AsArray()[id].StackSize =
*(UIntPtr*) stacksym.Leak().Leak();
- mm_delete_heap(stacksym.Leak().Leak());
+ mm_delete_ptr(stacksym.Leak().Leak());
}
return id;