summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/KernelKit/UserProcessScheduler.inl
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/KernelKit/UserProcessScheduler.inl')
-rw-r--r--dev/kernel/KernelKit/UserProcessScheduler.inl75
1 files changed, 35 insertions, 40 deletions
diff --git a/dev/kernel/KernelKit/UserProcessScheduler.inl b/dev/kernel/KernelKit/UserProcessScheduler.inl
index ea57cf65..2333b898 100644
--- a/dev/kernel/KernelKit/UserProcessScheduler.inl
+++ b/dev/kernel/KernelKit/UserProcessScheduler.inl
@@ -1,65 +1,60 @@
/* -------------------------------------------
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+ Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
- FILE: UserProcessScheduler.inl
- PURPOSE: Low level/Ring-3 Process scheduler.
+ FILE: UserProcessScheduler.inl
+ PURPOSE: Low level/Ring-3 process scheduler.
------------------------------------------- */
-/// @brief Process scheduler inline definitions.
+/// @brief USER_PROCESS inline definitions.
/// @author Amlal El Mahrouss (amlal@nekernel.org)
+/// @date Tue Apr 22 22:01:07 CEST 2025
-namespace Kernel
-{
- /***********************************************************************************/
- /** @brief Free pointer from usage. */
- /***********************************************************************************/
+namespace Kernel {
+/***********************************************************************************/
+/** @brief Free pointer from usage. */
+/***********************************************************************************/
- template <typename T>
- Boolean Process::Delete(ErrorOr<T*> ptr)
- {
- if (!ptr)
- return No;
+template <typename T>
+Boolean USER_PROCESS::Delete(ErrorOr<T*> ptr) {
+ if (!ptr) return No;
- if (!this->ProcessMemoryHeap)
- {
- kout << "Process's heap is empty.\r";
- return No;
- }
+ if (!this->HeapTree) {
+ kout << "USER_PROCESS's heap is empty.\r";
+ return No;
+ }
- ProcessMemoryHeapList* entry = this->ProcessMemoryHeap;
+ USER_HEAP_TREE* entry = this->HeapTree;
- while (entry != nullptr)
- {
- if (entry->MemoryEntry == ptr.Leak().Leak())
- {
- this->UsedMemory -= entry->MemoryEntrySize;
+ while (entry != nullptr) {
+ if (entry->MemoryEntry == ptr.Leak().Leak()) {
+ this->UsedMemory -= entry->MemoryEntrySize;
#ifdef __NE_AMD64__
- auto pd = hal_read_cr3();
+ auto pd = hal_read_cr3();
- hal_write_cr3(this->VMRegister);
+ hal_write_cr3(this->VMRegister);
- auto ret = mm_delete_heap(entry->MemoryEntry);
+ auto ret = mm_delete_heap(entry->MemoryEntry);
- hal_write_cr3(pd);
+ hal_write_cr3(pd);
- return ret == kErrorSuccess;
+ return ret == kErrorSuccess;
#else
- Bool ret = mm_delete_heap(ptr.Leak().Leak());
+ Bool ret = mm_delete_heap(ptr.Leak().Leak());
- return ret == kErrorSuccess;
+ return ret == kErrorSuccess;
#endif
- }
+ }
- entry = entry->MemoryNext;
- }
+ entry = entry->MemoryNext;
+ }
- kout << "Invalid Pointer: Trying to free a pointer which doesn't exist.\r";
+ kout << "USER_PROCESS: Trying to free a pointer which doesn't exist.\r";
- this->Crash();
+ this->Crash();
- return No;
- }
-} // namespace Kernel
+ return No;
+}
+} // namespace Kernel