[NTOS:MM] Make debug code in MmArmInitSystem portable

This commit is contained in:
Timo Kreuzer 2017-12-19 15:16:54 +01:00
parent 11c78f701d
commit 18cd763160
3 changed files with 4 additions and 4 deletions

View file

@ -14,6 +14,7 @@
#define MI_PAGED_POOL_START (PVOID)0xE1000000
#define MI_NONPAGED_POOL_END (PVOID)0xFFBE0000
#define MI_DEBUG_MAPPING (PVOID)0xFFBFF000
#define MI_HIGHEST_SYSTEM_ADDRESS (PVOID)0xFFFFFFFF
#define PTE_PER_PAGE 256
#define PDE_PER_PAGE 4096

View file

@ -23,6 +23,7 @@
#define MI_PAGED_POOL_START (PVOID)0xE1000000
#define MI_NONPAGED_POOL_END (PVOID)0xFFBE0000
#define MI_DEBUG_MAPPING (PVOID)0xFFBFF000
#define MI_HIGHEST_SYSTEM_ADDRESS (PVOID)0xFFFFFFFF
/* FIXME: These are different for PAE */
#define PTE_BASE 0xC0000000

View file

@ -2118,9 +2118,8 @@ MmArmInitSystem(IN ULONG Phase,
TestPte = MiProtoPteToPte(&TempPte);
ASSERT(PointerPte == TestPte);
#ifndef _M_AMD64 // Not working on x64 for obvoius reason
/* Try a bunch of random addresses near the end of the address space */
PointerPte = (PMMPTE)0xFFFC8000;
PointerPte = (PMMPTE)((ULONG_PTR)MI_HIGHEST_SYSTEM_ADDRESS - 0x37FFF);
for (j = 0; j < 20; j += 1)
{
MI_MAKE_PROTOTYPE_PTE(&TempPte, PointerPte);
@ -2130,11 +2129,10 @@ MmArmInitSystem(IN ULONG Phase,
}
/* Subsection PTEs are always in nonpaged pool, pick a random address to try */
PointerPte = (PMMPTE)0xFFAACBB8;
PointerPte = (PMMPTE)((ULONG_PTR)MmNonPagedPoolStart + (MmSizeOfNonPagedPoolInBytes / 2));
MI_MAKE_SUBSECTION_PTE(&TempPte, PointerPte);
TestPte = MiSubsectionPteToSubsection(&TempPte);
ASSERT(PointerPte == TestPte);
#endif
#endif
/* Loop all 8 standby lists */