diff options
Diffstat (limited to 'dev/kernel/KernelKit/UserProcessScheduler.inl')
| -rw-r--r-- | dev/kernel/KernelKit/UserProcessScheduler.inl | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/dev/kernel/KernelKit/UserProcessScheduler.inl b/dev/kernel/KernelKit/UserProcessScheduler.inl deleted file mode 100644 index 3d3659d6..00000000 --- a/dev/kernel/KernelKit/UserProcessScheduler.inl +++ /dev/null @@ -1,64 +0,0 @@ -/* ======================================== - - Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. - - FILE: UserProcessScheduler.inl - PURPOSE: Low level/Ring-3 process scheduler. - -======================================== */ - -/// @brief USER_PROCESS inline definitions. -/// @author Amlal El Mahrouss (amlal@nekernel.org) -/// @date Tue Apr 22 22:01:07 CEST 2025 - -#ifndef INC_PROCESS_SCHEDULER_H -#include <KernelKit/UserProcessScheduler.h> -#endif // INC_PROCESS_SCHEDULER_H - -namespace Kernel { -/***********************************************************************************/ -/** @brief Free pointer/file from usage. */ -/***********************************************************************************/ - -template <typename T> -BOOL USER_PROCESS::Delete(ErrorOr<T*> ptr) { - if (!ptr) return No; - - if (!this->HeapTree) { - kout << "USER_PROCESS's heap is empty.\r"; - return No; - } - - PROCESS_HEAP_TREE<VoidPtr>* entry = this->HeapTree; - - while (entry != nullptr) { - if (entry->Entry == ptr.Leak().Leak()) { - this->UsedMemory -= entry->EntrySize; - -#ifdef __NE_AMD64__ - auto pd = hal_read_cr3(); - - hal_write_cr3(this->VMRegister); - - auto ret = mm_free_ptr(entry->Entry); - - hal_write_cr3(pd); - - return ret == kErrorSuccess; -#else - Bool ret = mm_free_ptr(ptr.Leak().Leak()); - - return ret == kErrorSuccess; -#endif - } - - entry = entry->Next; - } - - kout << "USER_PROCESS: Trying to free a pointer which doesn't exist.\r"; - - this->Crash(); - - return No; -} -} // namespace Kernel |
