diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-03-14 21:42:49 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-03-14 21:42:49 +0100 |
| commit | ef101c1852301f828531ee1e2217fc64bf26bd12 (patch) | |
| tree | 1d0d82c97ca84b77ba3d3d238899b1d38d08a25d /dev/Kernel/KernelKit/UserProcessScheduler.inl | |
| parent | 57e99bd9a0adac271b5cf1fd9b426b6b4eb8ebee (diff) | |
Kernel: Patch UserProcess::Delete, and AHCI identify command.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/KernelKit/UserProcessScheduler.inl')
| -rw-r--r-- | dev/Kernel/KernelKit/UserProcessScheduler.inl | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/dev/Kernel/KernelKit/UserProcessScheduler.inl b/dev/Kernel/KernelKit/UserProcessScheduler.inl index ecb668fe..6b3b9300 100644 --- a/dev/Kernel/KernelKit/UserProcessScheduler.inl +++ b/dev/Kernel/KernelKit/UserProcessScheduler.inl @@ -19,6 +19,12 @@ namespace NeOS if (!ptr) return No; + if (!this->ProcessMemoryHeap) + { + kout << "Process Memory is empty.\r"; + return No; + } + ProcessMemoryHeapList* entry = this->ProcessMemoryHeap; while (entry != nullptr) @@ -29,16 +35,18 @@ namespace NeOS #ifdef __NE_AMD64__ auto pd = hal_read_cr3(); + hal_write_cr3(this->VMRegister); auto ret = mm_delete_heap(entry->MemoryEntry); hal_write_cr3(pd); - return ret; + return ret == kErrorSuccess; #else Bool ret = mm_delete_heap(ptr.Leak().Leak()); - return ret; + + return ret == kErrorSuccess; #endif } |
