https://git.reactos.org/?p=reactos.git;a=commitdiff;h=6ba611f39e5bb750a24a4bbd149ddb788edbcc98
commit 6ba611f39e5bb750a24a4bbd149ddb788edbcc98 Author: Serge Gautherie <[email protected]> AuthorDate: Fri Jun 21 14:04:01 2019 +0200 Commit: Pierre Schweitzer <[email protected]> CommitDate: Sat Jul 6 09:55:38 2019 +0200 [NTOS:MM] Fix MmSizeOfSystemCacheInPages value on AMD64 And add 'ASSERT(MmSystemCacheEnd == ...);'. Addendum to d56a24908908b574852091af0b8bd9dca7bc1165. CORE-14259 --- ntoskrnl/mm/ARM3/mminit.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ntoskrnl/mm/ARM3/mminit.c b/ntoskrnl/mm/ARM3/mminit.c index bcb8f1652ab..5e4bc303e01 100644 --- a/ntoskrnl/mm/ARM3/mminit.c +++ b/ntoskrnl/mm/ARM3/mminit.c @@ -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);
