Initial memory manager initialization code

This commit is contained in:
2024-04-07 10:26:12 +02:00
parent 42a1373612
commit 04e22c127e
10 changed files with 232 additions and 1 deletions

View File

@@ -18,4 +18,24 @@ VOID
MmZeroPages(IN PVOID Address,
IN ULONG Size);
XTAPI
PMMPTE
MmpGetPdeAddress(PVOID Address);
XTAPI
PMMPTE
MmpGetPpeAddress(PVOID Address);
XTAPI
PMMPTE
MmpGetPteAddress(PVOID Address);
XTAPI
PMMPTE
MmpGetPxeAddress(PVOID Address);
XTAPI
VOID
MmpInitializeArchitecture();
#endif /* __XTOSKRNL_AMD64_MMI_H */

View File

@@ -42,4 +42,19 @@ EXTERN KSERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTable[KSERVICE_TABLES_COUNT]
/* Kernel process list */
EXTERN LIST_ENTRY KepProcessListHead;
/* Biggest free memory descriptor */
EXTERN PLOADER_MEMORY_MAPPING MmFreeDescriptor;
/* Highest physical page number */
EXTERN ULONG_PTR MmHighestPhysicalPage;
/* Lowest physical page number */
EXTERN ULONG_PTR MmLowestPhysicalPage;
/* Number of physical pages */
EXTERN ULONG MmNumberOfPhysicalPages;
/* Old biggest free memory descriptor */
EXTERN LOADER_MEMORY_MAPPING MmOldFreeDescriptor;
#endif /* __XTOSKRNL_GLOBALS_H */

View File

@@ -18,4 +18,8 @@ VOID
MmZeroPages(IN PVOID Address,
IN ULONG Size);
XTAPI
VOID
MmpInitializeArchitecture();
#endif /* __XTOSKRNL_I686_MMI_H */

View File

@@ -24,4 +24,20 @@ VOID
MmFreeKernelStack(IN PVOID Stack,
IN BOOLEAN LargeStack);
XTAPI
VOID
MmInitializeMemoryManager();
XTAPI
VOID
MmpScanMemoryDescriptors();
XTAPI
BOOLEAN
MmpVerifyMemoryTypeFree(LOADER_MEMORY_TYPE MemoryType);
XTAPI
BOOLEAN
MmpVerifyMemoryTypeInvisible(LOADER_MEMORY_TYPE MemoryType);
#endif /* __XTOSKRNL_MMI_H */