Store page map level
This commit is contained in:
parent
388ac1a8c2
commit
7193e698f1
@ -108,6 +108,7 @@ typedef struct _LOADER_GRAPHICS_INFORMATION_BLOCK
|
|||||||
typedef struct _LOADER_INFORMATION_BLOCK
|
typedef struct _LOADER_INFORMATION_BLOCK
|
||||||
{
|
{
|
||||||
PVOID DbgPrint;
|
PVOID DbgPrint;
|
||||||
|
ULONG PageMapLevel;
|
||||||
LOADER_GRAPHICS_INFORMATION_BLOCK FrameBuffer;
|
LOADER_GRAPHICS_INFORMATION_BLOCK FrameBuffer;
|
||||||
} LOADER_INFORMATION_BLOCK, *PLOADER_INFORMATION_BLOCK;
|
} LOADER_INFORMATION_BLOCK, *PLOADER_INFORMATION_BLOCK;
|
||||||
|
|
||||||
|
@ -468,6 +468,9 @@ XtpInitializeLoaderBlock(IN PXTBL_PAGE_MAPPING PageMap,
|
|||||||
LoaderBlock->LoaderInformation.FrameBuffer.Initialized = FALSE;
|
LoaderBlock->LoaderInformation.FrameBuffer.Initialized = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Store page map level */
|
||||||
|
LoaderBlock->LoaderInformation.PageMapLevel = 3;
|
||||||
|
|
||||||
/* Close FrameBuffer protocol */
|
/* Close FrameBuffer protocol */
|
||||||
XtLdrProtocol->Protocol.Close(ProtocolHandle, &FrameBufGuid);
|
XtLdrProtocol->Protocol.Close(ProtocolHandle, &FrameBufGuid);
|
||||||
|
|
||||||
|
@ -57,4 +57,7 @@ EXTERN ULONG MmNumberOfPhysicalPages;
|
|||||||
/* Old biggest free memory descriptor */
|
/* Old biggest free memory descriptor */
|
||||||
EXTERN LOADER_MEMORY_MAPPING MmOldFreeDescriptor;
|
EXTERN LOADER_MEMORY_MAPPING MmOldFreeDescriptor;
|
||||||
|
|
||||||
|
/* Page Map Level */
|
||||||
|
EXTERN ULONG MmPageMapLevel;
|
||||||
|
|
||||||
#endif /* __XTOSKRNL_GLOBALS_H */
|
#endif /* __XTOSKRNL_GLOBALS_H */
|
||||||
|
@ -23,3 +23,6 @@ ULONG MmNumberOfPhysicalPages;
|
|||||||
|
|
||||||
/* Old biggest free memory descriptor */
|
/* Old biggest free memory descriptor */
|
||||||
LOADER_MEMORY_MAPPING MmOldFreeDescriptor;
|
LOADER_MEMORY_MAPPING MmOldFreeDescriptor;
|
||||||
|
|
||||||
|
/* Page Map Level */
|
||||||
|
ULONG MmPageMapLevel;
|
||||||
|
@ -31,6 +31,9 @@ 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();
|
||||||
}
|
}
|
||||||
@ -108,7 +111,6 @@ MmpScanMemoryDescriptors(VOID)
|
|||||||
|
|
||||||
/* Store original free descriptor */
|
/* Store original free descriptor */
|
||||||
RtlCopyMemory(&MmOldFreeDescriptor, MmFreeDescriptor, sizeof(LOADER_MEMORY_MAPPING));
|
RtlCopyMemory(&MmOldFreeDescriptor, MmFreeDescriptor, sizeof(LOADER_MEMORY_MAPPING));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Checks whether the specified memory type should be considered as free.
|
/** Checks whether the specified memory type should be considered as free.
|
||||||
|
Loading…
Reference in New Issue
Block a user