[NTOS:MM] Fix MmSizeOfSystemCacheInPages value on AMD64
authorSerge Gautherie <reactos-git_serge_171003@gautherie.fr>
Fri, 21 Jun 2019 12:04:01 +0000 (14:04 +0200)
committerPierre Schweitzer <pierre@reactos.org>
Sat, 6 Jul 2019 07:55:38 +0000 (09:55 +0200)
And add 'ASSERT(MmSystemCacheEnd == ...);'.

Addendum to d56a24908908b574852091af0b8bd9dca7bc1165.
CORE-14259

ntoskrnl/mm/ARM3/mminit.c

index bcb8f16..5e4bc30 100644 (file)
@@ -2521,11 +2521,16 @@ MmArmInitSystem(IN ULONG Phase,
 
         /* Define limits for system cache */
 #ifdef _M_AMD64
-        MmSizeOfSystemCacheInPages = (MI_SYSTEM_CACHE_END - MI_SYSTEM_CACHE_START) / PAGE_SIZE;
+        MmSizeOfSystemCacheInPages = ((MI_SYSTEM_CACHE_END + 1) - MI_SYSTEM_CACHE_START) / PAGE_SIZE;
 #else
         MmSizeOfSystemCacheInPages = ((ULONG_PTR)MI_PAGED_POOL_START - (ULONG_PTR)MI_SYSTEM_CACHE_START) / PAGE_SIZE;
 #endif
         MmSystemCacheEnd = (PVOID)((ULONG_PTR)MmSystemCacheStart + (MmSizeOfSystemCacheInPages * PAGE_SIZE) - 1);
+#ifdef _M_AMD64
+        ASSERT(MmSystemCacheEnd == (PVOID)MI_SYSTEM_CACHE_END);
+#else
+        ASSERT(MmSystemCacheEnd == (PVOID)((ULONG_PTR)MI_PAGED_POOL_START - 1));
+#endif
 
         /* Initialize the system cache */
         //MiInitializeSystemCache(MmSystemCacheWsMinimum, MmAvailablePages);