summaryrefslogtreecommitdiffhomepage
path: root/Kernel/KernelKit
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-14 00:54:15 +0200
committerAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-14 00:54:15 +0200
commitf0d8e3acd48c70f49e5b59a653045405b1e9a062 (patch)
tree6c0cb370a0c10347112a13b7cbae1fd6dff51cc6 /Kernel/KernelKit
parent7efcf975fe61b2d20d2379f6151b6cdd99391dff (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.hxx13
-rw-r--r--Kernel/KernelKit/ProcessScheduler.hxx1
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
{