Refactor MMU for multi-paging support and add 5-Level paging #16
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user