#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
#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
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);
}
/* 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 */