/*++ Copyright (c) 2024, Quinn Stephens. Provided under the BSD 3-Clause license. Module Name: mm.h Abstract: Boot memory manager definitions. --*/ #ifndef _MM_H #define _MM_H #include "bootlib.h" NTSTATUS MmFwGetMemoryMap ( IN OUT PMEMORY_DESCRIPTOR_LIST Mdl, IN ULONG Flags ); NTSTATUS MmMdAddDescriptorToList ( IN PMEMORY_DESCRIPTOR_LIST Mdl, IN PMEMORY_DESCRIPTOR Descriptor, IN ULONG Flags ); VOID MmMdRemoveDescriptorFromList ( IN PMEMORY_DESCRIPTOR_LIST Mdl, IN PMEMORY_DESCRIPTOR Descriptor ); NTSTATUS MmMdFreeDescriptor ( IN PMEMORY_DESCRIPTOR Descriptor ); VOID MmMdFreeList ( IN PMEMORY_DESCRIPTOR_LIST Mdl ); PMEMORY_DESCRIPTOR MmMdInitDescriptor ( IN ULONGLONG BasePage, IN ULONGLONG MappedBasePage, IN ULONGLONG PageCount, IN ULONG Attributes, IN MEMORY_TYPE Type ); VOID MmMdInitialize ( IN ULONG Unused, IN PBOOT_LIBRARY_PARAMETERS LibraryParameters ); NTSTATUS MmPaInitialize ( IN PBOOT_MEMORY_INFO MemoryInfo, IN ULONG MinimumAllocation ); #endif