Track valid physical memory pages using a PFN bitmap
This commit is contained in:
@@ -20,11 +20,13 @@ namespace MM
|
||||
private:
|
||||
STATIC MMMEMORY_LAYOUT MemoryLayout;
|
||||
STATIC PFN_NUMBER NumberOfSystemPtes;
|
||||
STATIC PPHYSICAL_MEMORY_DESCRIPTOR PhysicalMemoryBlock;
|
||||
|
||||
public:
|
||||
STATIC XTAPI ULONG_PTR GetInstalledMemorySize(VOID);
|
||||
STATIC XTAPI PMMMEMORY_LAYOUT GetMemoryLayout(VOID);
|
||||
STATIC XTAPI PFN_NUMBER GetNumberOfSystemPtes();
|
||||
STATIC XTAPI PFN_NUMBER GetNumberOfSystemPtes(VOID);
|
||||
STATIC XTAPI PPHYSICAL_MEMORY_DESCRIPTOR GetPhysicalMemoryBlock(VOID);
|
||||
STATIC XTAPI VOID InitializeMemoryLayout(VOID);
|
||||
STATIC XTAPI VOID InitializeMemoryManager(VOID);
|
||||
STATIC XTAPI BOOLEAN VerifyMemoryTypeFree(IN LOADER_MEMORY_TYPE MemoryType);
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace MM
|
||||
STATIC ULONGLONG NumberOfPhysicalPages;
|
||||
STATIC LOADER_MEMORY_DESCRIPTOR OriginalFreeDescriptor;
|
||||
STATIC PMMPFNLIST PageLocationList[];
|
||||
STATIC RTL_BITMAP PfnBitMap;
|
||||
STATIC MMPFNLIST RomPagesList;
|
||||
STATIC MMPFNLIST StandbyPagesList;
|
||||
STATIC MMPFNLIST ZeroedPagesList;
|
||||
@@ -49,6 +50,7 @@ namespace MM
|
||||
STATIC XTAPI ULONG_PTR GetHighestPhysicalPage(VOID);
|
||||
STATIC XTAPI ULONGLONG GetNumberOfPhysicalPages(VOID);
|
||||
STATIC XTAPI PMMPFN GetPfnEntry(IN PFN_NUMBER Pfn);
|
||||
STATIC XTAPI VOID InitializePfnBitmap(VOID);
|
||||
STATIC XTAPI VOID InitializePfnDatabase(VOID);
|
||||
STATIC XTAPI VOID LinkPfn(IN PFN_NUMBER PageFrameIndex,
|
||||
IN PMMPTE PointerPte,
|
||||
|
||||
Reference in New Issue
Block a user