diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-29 18:17:47 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-29 18:18:59 +0100 |
| commit | 65254486efff0fd1bb78a48ff90b7713a5ce539f (patch) | |
| tree | 20ce02c12a74ba9e6cd382bf9c1f09a0c611cb4d /Private/NewKit/UserHeap.hpp | |
| parent | f03986937db0b927da4b10554801e18e4dc7c43f (diff) | |
Kernel: Update TODO.
Src: Refactorings according to clang-format.
Meta: Update specification.
Public: Remove useless UIKit.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/NewKit/UserHeap.hpp')
| -rw-r--r-- | Private/NewKit/UserHeap.hpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Private/NewKit/UserHeap.hpp b/Private/NewKit/UserHeap.hpp new file mode 100644 index 00000000..71a93f6b --- /dev/null +++ b/Private/NewKit/UserHeap.hpp @@ -0,0 +1,47 @@ +/* + * ======================================================== + * + * hCore + * Copyright 2024 Mahrouss Logic, all rights reserved. + * + * ======================================================== + */ + +#pragma once + +#include <NewKit/Array.hpp> +#include <NewKit/ArrayList.hpp> +#include <NewKit/ErrorOr.hpp> +#include <NewKit/PageManager.hpp> +#include <NewKit/Pmm.hpp> +#include <NewKit/Ref.hpp> + +// last-rev 5/11/23 +// file: pool.hpp +// description: memory pool for user programs. + +#define kPoolMaxSz 4096 +#define kPoolMag 0x5500A1 + +namespace hCore +{ + enum + { + kPoolHypervisor = 0x2, + kPoolShared = 0x4, + kPoolUser = 0x6, + kPoolRw = 0x8, + }; + + struct HeapHeader final + { + UInt32 Magic; + Int32 Flags; + Boolean Free; + UIntPtr Pad; + }; + + VoidPtr pool_new_ptr(Int32 flags); + Int32 pool_free_ptr(voidPtr pointer); + Boolean pool_ptr_exists(UIntPtr thePool, UIntPtr thePtr, SizeT theLimit); +} // namespace hCore |
