Author: tfaber Date: Tue Aug 9 07:48:09 2016 New Revision: 72163
URL: http://svn.reactos.org/svn/reactos?rev=72163&view=rev Log: [NTOS:MM] - Correctly reserve the whole 4 MB of HAL address space instead of just 2 pages CORE-11533
Modified: trunk/reactos/ntoskrnl/mm/mminit.c
Modified: trunk/reactos/ntoskrnl/mm/mminit.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/mminit.c?rev=72... ============================================================================== --- trunk/reactos/ntoskrnl/mm/mminit.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/mm/mminit.c [iso-8859-1] Tue Aug 9 07:48:09 2016 @@ -100,22 +100,21 @@ // Paged pool MiCreateArm3StaticMemoryArea(MmPagedPoolStart, MmSizeOfPagedPoolInBytes, FALSE);
+ // Debugger mapping + MiCreateArm3StaticMemoryArea(MI_DEBUG_MAPPING, PAGE_SIZE, FALSE); + +#if defined(_X86_) + // Reserved HAL area (includes KUSER_SHARED_DATA and KPCR) + MiCreateArm3StaticMemoryArea((PVOID)MM_HAL_VA_START, MM_HAL_VA_END - MM_HAL_VA_START + 1, FALSE); +#else /* _X86_ */ #ifndef _M_AMD64 // KPCR, one page per CPU. Only for 32-bit kernel. MiCreateArm3StaticMemoryArea(PCR, PAGE_SIZE * KeNumberProcessors, FALSE); -#endif +#endif /* _M_AMD64 */
// KUSER_SHARED_DATA MiCreateArm3StaticMemoryArea((PVOID)KI_USER_SHARED_DATA, PAGE_SIZE, FALSE); - - // Debugger mapping - MiCreateArm3StaticMemoryArea(MI_DEBUG_MAPPING, PAGE_SIZE, FALSE); - -#if defined(_X86_) - // Reserve the 2 pages we currently make use of for HAL mappings. - // TODO: Remove hard-coded constant and replace with a define. - MiCreateArm3StaticMemoryArea((PVOID)0xFFC00000, PAGE_SIZE * 2, FALSE); -#endif +#endif /* _X86_ */ }
VOID