Refactor MMU for multi-paging support and add 5-Level paging #16

Open
harraiken wants to merge 35 commits from harraiken_mm into master
3 changed files with 4 additions and 13 deletions
Showing only changes of commit 6a330e38f2 - Show all commits

View File

@ -75,9 +75,6 @@ EXTERN ULONG MmNumberOfPhysicalPages;
/* Old biggest free memory descriptor */ /* Old biggest free memory descriptor */
EXTERN LOADER_MEMORY_DESCRIPTOR MmOldFreeDescriptor; EXTERN LOADER_MEMORY_DESCRIPTOR MmOldFreeDescriptor;
/* Page Map Level */
EXTERN ULONG MmPageMapLevel;
/* Processor structures data (THIS IS A TEMPORARY HACK) */ /* Processor structures data (THIS IS A TEMPORARY HACK) */
EXTERN UCHAR MmProcessorStructuresData[MAXIMUM_PROCESSORS][KPROCESSOR_STRUCTURES_SIZE]; EXTERN UCHAR MmProcessorStructuresData[MAXIMUM_PROCESSORS][KPROCESSOR_STRUCTURES_SIZE];
@ -87,8 +84,8 @@ EXTERN LOADER_MEMORY_DESCRIPTOR MmpHardwareAllocationDescriptors[MM_HARDWARE_ALL
/* Live address of kernel's hardware heap */ /* Live address of kernel's hardware heap */
EXTERN PVOID MmpHardwareHeapStart; EXTERN PVOID MmpHardwareHeapStart;
/* Architecture-specific memory extension */ /* Information about the current page map */
EXTERN BOOLEAN MmpMemoryExtension; EXTERN MMPAGEMAP_INFO MmpPageMapInfo;
/* Number of used hardware allocation descriptors */ /* Number of used hardware allocation descriptors */
EXTERN ULONG MmpUsedHardwareAllocationDescriptors; EXTERN ULONG MmpUsedHardwareAllocationDescriptors;

View File

@ -24,9 +24,6 @@ ULONG MmNumberOfPhysicalPages;
/* Old biggest free memory descriptor */ /* Old biggest free memory descriptor */
LOADER_MEMORY_DESCRIPTOR MmOldFreeDescriptor; LOADER_MEMORY_DESCRIPTOR MmOldFreeDescriptor;
/* Page Map Level */
ULONG MmPageMapLevel;
/* Processor structures data (THIS IS A TEMPORARY HACK) */ /* Processor structures data (THIS IS A TEMPORARY HACK) */
UCHAR MmProcessorStructuresData[MAXIMUM_PROCESSORS][KPROCESSOR_STRUCTURES_SIZE] = {0}; UCHAR MmProcessorStructuresData[MAXIMUM_PROCESSORS][KPROCESSOR_STRUCTURES_SIZE] = {0};
@ -36,8 +33,8 @@ LOADER_MEMORY_DESCRIPTOR MmpHardwareAllocationDescriptors[MM_HARDWARE_ALLOCATION
/* Live address of kernel's hardware heap */ /* Live address of kernel's hardware heap */
PVOID MmpHardwareHeapStart = MM_HARDWARE_HEAP_START_ADDRESS; PVOID MmpHardwareHeapStart = MM_HARDWARE_HEAP_START_ADDRESS;
/* Architecture-specific memory extension */ /* Information about the current page map */
BOOLEAN MmpMemoryExtension; MMPAGEMAP_INFO MmpPageMapInfo;
/* Number of used hardware allocation descriptors */ /* Number of used hardware allocation descriptors */
ULONG MmpUsedHardwareAllocationDescriptors = 0; ULONG MmpUsedHardwareAllocationDescriptors = 0;

View File

@ -31,9 +31,6 @@ MmInitializeMemoryManager(VOID)
KePanic(0); KePanic(0);
} }
/* Store Page Map Level */
MmPageMapLevel = KeInitializationBlock->LoaderInformation.PageMapLevel;
/* Proceed with architecture specific initialization */ /* Proceed with architecture specific initialization */
MmpInitializeArchitecture(); MmpInitializeArchitecture();
} }