From 291fb765f30fd2d45c6a5d94b741ff7fd4d00a55 Mon Sep 17 00:00:00 2001 From: Sir Richard Date: Wed, 12 May 2010 18:42:05 +0000 Subject: [PATCH] [NTOS]: Fix 4MB assumptions and use PDE_MAPPED_VA instead, which accurately describes the address space mapped by a PDE (which is different on PAE, x64, ARM, etc). svn path=/trunk/; revision=47175 --- reactos/ntoskrnl/mm/ARM3/i386/init.c | 4 ++-- reactos/ntoskrnl/mm/ARM3/mminit.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/reactos/ntoskrnl/mm/ARM3/i386/init.c b/reactos/ntoskrnl/mm/ARM3/i386/init.c index 0e6908fcbcd..c0226ebc8ac 100644 --- a/reactos/ntoskrnl/mm/ARM3/i386/init.c +++ b/reactos/ntoskrnl/mm/ARM3/i386/init.c @@ -339,7 +339,7 @@ MiInitMachineDependent(IN PLOADER_PARAMETER_BLOCK LoaderBlock) MmNonPagedSystemStart = (PVOID)((ULONG_PTR)MmNonPagedPoolStart - (MmNumberOfSystemPtes + 1) * PAGE_SIZE); MmNonPagedSystemStart = (PVOID)((ULONG_PTR)MmNonPagedSystemStart & - ~((4 * 1024 * 1024) - 1)); + ~(PDE_MAPPED_VA - 1)); // // Don't let it go below the minimum @@ -387,7 +387,7 @@ MiInitMachineDependent(IN PLOADER_PARAMETER_BLOCK LoaderBlock) // MmPfnDatabase[0] = (PVOID)0xB0000000; MmPfnDatabase[1] = &MmPfnDatabase[0][MmHighestPhysicalPage]; - ASSERT(((ULONG_PTR)MmPfnDatabase[0] & ((4 * 1024 * 1024) - 1)) == 0); + ASSERT(((ULONG_PTR)MmPfnDatabase[0] & (PDE_MAPPED_VA - 1)) == 0); // // Non paged pool comes after the PFN database diff --git a/reactos/ntoskrnl/mm/ARM3/mminit.c b/reactos/ntoskrnl/mm/ARM3/mminit.c index 5ed08499d98..eba66b18311 100644 --- a/reactos/ntoskrnl/mm/ARM3/mminit.c +++ b/reactos/ntoskrnl/mm/ARM3/mminit.c @@ -1725,8 +1725,8 @@ MmArmInitSystem(IN ULONG Phase, // MmBootImageSize = KeLoaderBlock->Extension->LoaderPagesSpanned; MmBootImageSize *= PAGE_SIZE; - MmBootImageSize = (MmBootImageSize + (4 * 1024 * 1024) - 1) & ~((4 * 1024 * 1024) - 1); - ASSERT((MmBootImageSize % (4 * 1024 * 1024)) == 0); + MmBootImageSize = (MmBootImageSize + PDE_MAPPED_VA - 1) & ~(PDE_MAPPED_VA - 1); + ASSERT((MmBootImageSize % PDE_MAPPED_VA) == 0); // // Set the size of session view, pool, and image