2 * PROJECT: ReactOS Kernel
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: ntoskrnl/mm/ARM3/miarm.h
5 * PURPOSE: ARM Memory Manager Header
6 * PROGRAMMERS: ReactOS Portable Systems Group
9 #define MI_MIN_PAGES_FOR_NONPAGED_POOL_TUNING ((255*1024*1024) >> PAGE_SHIFT)
10 #define MI_MIN_PAGES_FOR_SYSPTE_TUNING ((19*1024*1024) >> PAGE_SHIFT)
11 #define MI_MIN_PAGES_FOR_SYSPTE_BOOST ((32*1024*1024) >> PAGE_SHIFT)
12 #define MI_MAX_INIT_NONPAGED_POOL_SIZE (128 * 1024 * 1024)
13 #define MI_MAX_NONPAGED_POOL_SIZE (128 * 1024 * 1024)
14 #define MI_MAX_FREE_PAGE_LISTS 4
16 typedef enum _MMSYSTEM_PTE_POOL_TYPE
19 NonPagedPoolExpansion
,
21 } MMSYSTEM_PTE_POOL_TYPE
;
23 typedef enum _MI_PFN_CACHE_ATTRIBUTE
29 } MI_PFN_CACHE_ATTRIBUTE
, *PMI_PFN_CACHE_ATTRIBUTE
;
31 extern MMPTE HyperTemplatePte
;
33 extern ULONG MmSizeOfNonPagedPoolInBytes
;
34 extern ULONG MmMaximumNonPagedPoolInBytes
;
35 extern PVOID MmNonPagedPoolStart
;
36 extern PVOID MmNonPagedPoolExpansionStart
;
37 extern PMMPTE MmFirstReservedMappingPte
, MmLastReservedMappingPte
;
38 extern PMMPTE MiFirstReservedZeroingPte
;
48 MiInitializeSystemPtes(
49 IN PMMPTE StartingPte
,
50 IN ULONG NumberOfPtes
,
51 IN MMSYSTEM_PTE_POOL_TYPE PoolType
57 IN ULONG NumberOfPtes
,
58 IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType
64 IN PMMPTE StartingPte
,
65 IN ULONG NumberOfPtes
,
66 IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType