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 MmtotalCommitLimitMaximum;
extern BOOLEAN MiDbgReadyForPhysical;
extern PVOID MiDebugMapping;
extern PMMPTE MmDebugPte;
struct _KTRAP_FRAME;
struct _EPROCESS;

View file

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

View file

@ -1990,7 +1990,7 @@ MmArmInitSystem(IN ULONG Phase,
MiBuildPagedPool();
/* Debugger physical memory support is now ready to be used */
MiDbgReadyForPhysical = TRUE;
MmDebugPte = MiAddressToPte(MiDebugMapping);
/* Initialize the loaded module list */
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
//
PointerPte = MiAddressToPte(KI_USER_SHARED_DATA);
PointerPte = MiAddressToPte((PVOID)KI_USER_SHARED_DATA);
ASSERT(PointerPte->u.Hard.Valid == 1);
PageFrameNumber = PFN_FROM_PTE(PointerPte);