|
NeKernel dev
|
Heap system that serves as the main memory manager. More...
#include <ArchKit/ArchKit.h>#include <KernelKit/DebugOutput.h>#include <KernelKit/HeapMgr.h>#include <KernelKit/KPC.h>#include <NeKit/Crc32.h>#include <NeKit/PageMgr.h>#include <NeKit/Utils.h>Classes | |
| struct | Kernel::Detail::MM_INFORMATION_BLOCK |
| Kernel heap information block. Located before the address bytes. | HIB | CLASS/STRUCT/DATA TYPES... |. More... | |
Namespaces | |
| namespace | Kernel |
| UPS inline definitions. | |
| namespace | Kernel::Detail |
| Implementation details namespace. | |
Macros | |
| #define | kHeapMgrMagic (0xD4D75) |
| #define | kHeapMgrAlignSz (4U) |
Typedefs | |
| typedef MM_INFORMATION_BLOCK * | Kernel::Detail::MM_INFORMATION_BLOCK_PTR |
Functions | |
| _Output auto | Kernel::Detail::mm_check_ptr_address (VoidPtr heap_ptr) -> Bool |
| Check for heap address validity. | |
| VoidPtr | Kernel::mm_alloc_ptr (SizeT sz, Bool wr, Bool user, SizeT pad_amount=0) |
| Allocate chunk of memory. | |
| Int32 | Kernel::mm_make_page (VoidPtr heap_ptr) |
| Makes a Kernel page. | |
| Int32 | Kernel::mm_set_ptr_flags (VoidPtr heap_ptr, UInt64 flags) |
| Overwrites and set the flags of a heap header. | |
| UInt64 | Kernel::mm_get_ptr_flags (VoidPtr heap_ptr) |
| Gets the flags of a heap header. | |
| Int32 | Kernel::mm_free_ptr (VoidPtr heap_ptr) |
| Declare pointer as free. | |
| Boolean | Kernel::mm_is_valid_ptr (VoidPtr heap_ptr) |
| Check if pointer is a valid Kernel pointer. | |
| Boolean | Kernel::mm_protect_ptr (VoidPtr heap_ptr) |
| Protect the heap with a CRC value. | |
Variables | |
| struct PACKED | Kernel::Detail::MM_INFORMATION_BLOCK |
| STATIC PageMgr | Kernel::kPageMgr |
Heap system that serves as the main memory manager.
| #define kHeapMgrAlignSz (4U) |
| #define kHeapMgrMagic (0xD4D75) |