Merge r44143 from amd64 branch

Initialize MmDebugPte from MiDebugMapping variable instead of using MiAddressToPte for a constant initializer. This way the page can be set dynamically. Use MmDebugPte to determine if ready for mapping physical pages.

svn path=/trunk/; revision=48079
This commit is contained in:
Timo Kreuzer 2010-07-16 13:23:43 +00:00
parent f9dc8f0766
commit e6d5126886
4 changed files with 7 additions and 6 deletions

View file

@ -46,7 +46,8 @@ extern SIZE_T MmPagedPoolCommit;
extern SIZE_T MmPeakCommitment; extern SIZE_T MmPeakCommitment;
extern SIZE_T MmtotalCommitLimitMaximum; extern SIZE_T MmtotalCommitLimitMaximum;
extern BOOLEAN MiDbgReadyForPhysical; extern PVOID MiDebugMapping;
extern PMMPTE MmDebugPte;
struct _KTRAP_FRAME; struct _KTRAP_FRAME;
struct _EPROCESS; struct _EPROCESS;

View file

@ -22,8 +22,8 @@
/* GLOBALS ********************************************************************/ /* GLOBALS ********************************************************************/
PMMPTE MmDebugPte = MiAddressToPte(MI_DEBUG_MAPPING); PVOID MiDebugMapping = MI_DEBUG_MAPPING;
BOOLEAN MiDbgReadyForPhysical = FALSE; PMMPTE MmDebugPte = NULL;
/* FUNCTIONS ******************************************************************/ /* FUNCTIONS ******************************************************************/
@ -49,7 +49,7 @@ MiDbgTranslatePhysicalAddress(IN ULONG64 PhysicalAddress,
// //
// Check if we are called too early // Check if we are called too early
// //
if (MiDbgReadyForPhysical == FALSE) if (MmDebugPte == NULL)
{ {
// //
// The structures we require aren't initialized yet, fail // The structures we require aren't initialized yet, fail

View file

@ -1990,7 +1990,7 @@ MmArmInitSystem(IN ULONG Phase,
MiBuildPagedPool(); MiBuildPagedPool();
/* Debugger physical memory support is now ready to be used */ /* Debugger physical memory support is now ready to be used */
MiDbgReadyForPhysical = TRUE; MmDebugPte = MiAddressToPte(MiDebugMapping);
/* Initialize the loaded module list */ /* Initialize the loaded module list */
MiInitializeLoadedModuleList(LoaderBlock); MiInitializeLoadedModuleList(LoaderBlock);

View file

@ -409,7 +409,7 @@ MmInitSystem(IN ULONG Phase,
// //
// Now get the PTE for shared data, and read the PFN that holds it // Now get the PTE for shared data, and read the PFN that holds it
// //
PointerPte = MiAddressToPte(KI_USER_SHARED_DATA); PointerPte = MiAddressToPte((PVOID)KI_USER_SHARED_DATA);
ASSERT(PointerPte->u.Hard.Valid == 1); ASSERT(PointerPte->u.Hard.Valid == 1);
PageFrameNumber = PFN_FROM_PTE(PointerPte); PageFrameNumber = PFN_FROM_PTE(PointerPte);