15#define MODULE_INVOLVED_IN_ARM3
180 if (FreePages >= 0x1F000)
245 PMMPTE StartPde, EndPde, PointerPte, LastPte;
247 PVOID NonPagedPoolExpansionVa;
248 SIZE_T NonPagedSystemSize;
253#if defined(_GLOBAL_PAGES_ARE_AWESOME_)
294 DPRINT(
"NP Pool has been tuned to: %lu bytes and %lu bytes\n",
338 DPRINT1(
"Paged pool is too big!\n");
362 ASSERT(PageFrameIndex != 0);
363 DPRINT(
"PFN DB PA PFN begins at: %lx\n", PageFrameIndex);
375 while (StartPde <= EndPde)
401 while (StartPde <= EndPde)
434 while (PointerPte <= LastPte)
480 DPRINT(
"Final System PTE count: %lu (%lu bytes)\n",
543 Pfn1->
u3.
e2.ReferenceCount = 0;
587 while (PointerPte <= LastPte)
591 if (!Pfn1->
u3.
e2.ReferenceCount)
597 Pfn1->
u3.
e2.ReferenceCount = 1;
HARDWARE_PTE_ARMV6 TempPte
HARDWARE_PDE_ARMV6 TempPde
VOID NTAPI InitializePool(IN POOL_TYPE PoolType, IN ULONG Threshold)
PMMPTE MmLastReservedMappingPte
PMMPTE MiFirstReservedZeroingPte
PMMPTE MmFirstReservedMappingPte
PFN_NUMBER MmHighestPhysicalPage
VOID NTAPI MiInitializeSystemPtes(IN PMMPTE StartingPte, IN ULONG NumberOfPtes, IN MMSYSTEM_PTE_POOL_TYPE PoolType)
SIZE_T MmMinimumNonPagedPoolSize
PFN_NUMBER MiNumberOfFreePages
struct _MM_SESSION_SPACE * PMM_SESSION_SPACE
VOID NTAPI MiInitializePfnDatabase(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
ULONG_PTR MmSubsectionBase
PMM_SESSION_SPACE MmSessionSpace
VOID NTAPI MiInitializeColorTables(VOID)
PFN_NUMBER NTAPI MxGetNextPage(IN PFN_NUMBER PageCount)
PMMPTE MiSessionImagePteEnd
PFN_NUMBER NTAPI MiRemoveAnyPage(IN ULONG Color)
PFN_NUMBER MmMaximumNonPagedPoolInPages
PMMWSL MmSystemCacheWorkingSetList
VOID NTAPI MiInitializeNonPagedPoolThresholds(VOID)
PMMPTE MiSessionImagePteStart
ULONG MmMaxAdditionNonPagedPoolPerMb
PMMPTE NTAPI MiReserveSystemPtes(IN ULONG NumberOfPtes, IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType)
ULONG MmMinAdditionNonPagedPoolPerMb
VOID NTAPI MiMapPfnDatabase(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
#define MI_PTE_LOOKUP_NEEDED
FORCEINLINE VOID MI_WRITE_VALID_PTE(IN PMMPTE PointerPte, IN MMPTE TempPte)
SIZE_T MmDefaultMaximumNonPagedPool
SIZE_T MmSizeOfPagedPoolInBytes
PMMCOLOR_TABLES MmFreePagesByColor[FreePageList+1]
#define MiAddressToPte(x)
#define MiAddressToPde(x)
#define MM_ALLOCATION_GRANULARITY
#define MI_SESSION_WORKING_SET_SIZE
#define MI_MAPPING_RANGE_START
#define MI_HYPERSPACE_PTES
#define MI_MAPPING_RANGE_END
#define MM_PTE_SOFTWARE_PROTECTION_BITS
#define MI_WORKING_SET_LIST
#define MI_SESSION_VIEW_SIZE
#define MI_MIN_PAGES_FOR_NONPAGED_POOL_TUNING
#define MI_MAX_INIT_NONPAGED_POOL_SIZE
#define MI_SESSION_IMAGE_SIZE
#define MI_SYSTEM_VIEW_SIZE
#define MI_SESSION_POOL_SIZE
#define MI_MAX_NONPAGED_POOL_SIZE
#define MiPteToAddress(_Pte)
BOOLEAN KiI386PentiumLockErrataPresent
VOID NTAPI KeFlushCurrentTb(VOID)
FORCEINLINE PMMPFN MiGetPfnEntry(IN PFN_NUMBER Pfn)
#define MI_SET_PROCESS2(x)
NTSTATUS NTAPI MmInitializeProcessAddressSpace(IN PEPROCESS Process, IN PEPROCESS Clone OPTIONAL, IN PVOID Section OPTIONAL, IN OUT PULONG Flags, IN POBJECT_NAME_INFORMATION *AuditName OPTIONAL)
PFN_COUNT MmNumberOfPhysicalPages
VOID NTAPI MiInitializeNonPagedPool(VOID)
VOID NTAPI MmInitializeBalancer(ULONG NrAvailablePages, ULONG NrSystemPages)
PFN_NUMBER MmAvailablePages
ULONG MmMaximumNonPagedPoolPercent
PVOID MmNonPagedSystemStart
PMEMORY_ALLOCATION_DESCRIPTOR MxFreeDescriptor
ULONG MmMaximumNonPagedPoolInBytes
ULONG MmSizeOfNonPagedPoolInBytes
PVOID MiSessionImageStart
ULONG MmNumberOfSystemPtes
PVOID MmNonPagedPoolExpansionStart
MEMORY_ALLOCATION_DESCRIPTOR MxOldFreeDescriptor
PVOID MmNonPagedPoolStart
VOID NTAPI MiComputeNonPagedPoolVa(IN ULONG FreePages)
MMPTE ValidKernelPteLocal
MMPTE ValidKernelPdeLocal
VOID NTAPI MiInitializeSessionSpaceLayout(VOID)
NTSTATUS NTAPI MiInitMachineDependent(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
struct _MMPFN::@1808::@1814 e2
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ ULONG Flags
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
#define PsGetCurrentProcess