diff options
| author | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-08-14 00:54:15 +0200 |
|---|---|---|
| committer | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-08-14 00:54:15 +0200 |
| commit | f0d8e3acd48c70f49e5b59a653045405b1e9a062 (patch) | |
| tree | 6c0cb370a0c10347112a13b7cbae1fd6dff51cc6 /Kernel/KernelKit | |
| parent | 7efcf975fe61b2d20d2379f6151b6cdd99391dff (diff) | |
[IMP] Add SizeMemory field inside PROCESS_HEADER_BLOCK. (min 4GB)
[FIX] Fix ProcessHeap allocation, making sure that we know everything
from it.
[IMP] Add new fields to PROCESS_HEAP_HEADER struct.
[META] Refactor repository.
Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Kernel/KernelKit')
| -rw-r--r-- | Kernel/KernelKit/ProcessHeap.hxx | 13 | ||||
| -rw-r--r-- | Kernel/KernelKit/ProcessScheduler.hxx | 1 |
2 files changed, 8 insertions, 6 deletions
diff --git a/Kernel/KernelKit/ProcessHeap.hxx b/Kernel/KernelKit/ProcessHeap.hxx index 0a9b9a93..779794f0 100644 --- a/Kernel/KernelKit/ProcessHeap.hxx +++ b/Kernel/KernelKit/ProcessHeap.hxx @@ -17,24 +17,25 @@ /// @file ProcessHeap.hxx /// @brief Process heap allocator. -#define kUserHeapMag (0xFAF0FEF0) +#define kProcessHeapMag (0xFAF0FEF0) namespace Kernel { typedef enum { /// @brief Shared heap. - kUserHeapShared = 0x4, + kProcessHeapShared = 0x4, /// @brief User and private heap. - kUserHeapUser = 0x6, + kProcessHeapUser = 0x6, /// @brief Read and Write heap. - kUserHeapRw = 0x8, + kProcessHeapRw = 0x8, } UserHeapFlags; /// @brief Allocate a process heap, no zero out is done here. - /// @param flags the allocation flags. + /// @param flags the heap's flags. + /// @param len_in_gib the heap in GB. /// @return The process's heap. - VoidPtr sched_new_heap(Int32 flags); + VoidPtr sched_new_heap(Int32 flags, SizeT len_in_gib); /// @brief Frees the process heap. /// @param pointer The process heap pointer. diff --git a/Kernel/KernelKit/ProcessScheduler.hxx b/Kernel/KernelKit/ProcessScheduler.hxx index c47c562d..f760c0d5 100644 --- a/Kernel/KernelKit/ProcessScheduler.hxx +++ b/Kernel/KernelKit/ProcessScheduler.hxx @@ -161,6 +161,7 @@ namespace Kernel // Memory usage. SizeT UsedMemory{0}; SizeT FreeMemory{0}; + SizeT SizeMemory{gib_cast(4)}; enum { |
