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",
542 Pfn1->
u3.
e2.ReferenceCount = 0;
586 while (PointerPte <= LastPte)
590 if (!Pfn1->
u3.
e2.ReferenceCount)
596 Pfn1->
u3.
e2.ReferenceCount = 1;
PFN_NUMBER MiNumberOfFreePages
ULONG_PTR MmSubsectionBase
#define MI_MAX_NONPAGED_POOL_SIZE
BOOLEAN KiI386PentiumLockErrataPresent
VOID NTAPI InitializePool(IN POOL_TYPE PoolType, IN ULONG Threshold)
#define MiAddressToPde(x)
VOID NTAPI MiInitializePfnDatabase(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
SIZE_T MmMinimumNonPagedPoolSize
PMMPTE NTAPI MiReserveSystemPtes(IN ULONG NumberOfPtes, IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType)
ULONG MmMaximumNonPagedPoolPercent
ULONG MmNumberOfSystemPtes
PVOID MiSessionImageStart
ULONG MmMaxAdditionNonPagedPoolPerMb
PVOID MmNonPagedPoolExpansionStart
#define MI_PTE_LOOKUP_NEEDED
HARDWARE_PDE_ARMV6 TempPde
FORCEINLINE KIRQL MiAcquirePfnLock(VOID)
PMM_SESSION_SPACE MmSessionSpace
PMMPTE MmLastReservedMappingPte
#define MM_PTE_SOFTWARE_PROTECTION_BITS
PMEMORY_ALLOCATION_DESCRIPTOR MxFreeDescriptor
PFN_NUMBER MmAvailablePages
FORCEINLINE VOID MiReleasePfnLock(_In_ KIRQL OldIrql)
SIZE_T MmSizeOfPagedPoolInBytes
#define MI_SESSION_WORKING_SET_SIZE
#define MiAddressToPte(x)
VOID NTAPI MiInitializeSessionSpaceLayout(VOID)
PVOID MmNonPagedSystemStart
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
FORCEINLINE VOID MI_WRITE_VALID_PTE(IN PMMPTE PointerPte, IN MMPTE TempPte)
VOID NTAPI MiInitializeSystemPtes(IN PMMPTE StartingPte, IN ULONG NumberOfPtes, IN MMSYSTEM_PTE_POOL_TYPE PoolType)
PMMPTE MmFirstReservedMappingPte
#define MI_SET_PROCESS2(x)
#define PsGetCurrentProcess
#define MI_HYPERSPACE_PTES
VOID NTAPI MiComputeNonPagedPoolVa(IN ULONG FreePages)
PMMCOLOR_TABLES MmFreePagesByColor[FreePageList+1]
NTSTATUS NTAPI MiInitMachineDependent(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
_Must_inspect_result_ _In_ ULONG Flags
#define MI_WORKING_SET_LIST
#define MI_MAPPING_RANGE_END
MMPTE ValidKernelPteLocal
NTSTATUS NTAPI MmInitializeProcessAddressSpace(IN PEPROCESS Process, IN PEPROCESS Clone OPTIONAL, IN PVOID Section OPTIONAL, IN OUT PULONG Flags, IN POBJECT_NAME_INFORMATION *AuditName OPTIONAL)
#define MI_SESSION_IMAGE_SIZE
HARDWARE_PTE_ARMV6 TempPte
ULONG MmHighestPhysicalPage
#define MI_MIN_PAGES_FOR_NONPAGED_POOL_TUNING
#define MI_MAPPING_RANGE_START
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
PFN_NUMBER MmMaximumNonPagedPoolInPages
PMMPTE MiSessionImagePteStart
ULONG MmMinAdditionNonPagedPoolPerMb
struct _MMPFN::@1793::@1799 e2
FORCEINLINE PMMPFN MiGetPfnEntry(IN PFN_NUMBER Pfn)
MMPTE ValidKernelPdeLocal
PVOID MmNonPagedPoolStart
PFN_NUMBER NTAPI MiRemoveAnyPage(IN ULONG Color)
SIZE_T MmDefaultMaximumNonPagedPool
VOID NTAPI MmInitializeBalancer(ULONG NrAvailablePages, ULONG NrSystemPages)
PFN_NUMBER NTAPI MxGetNextPage(IN PFN_NUMBER PageCount)
ULONG MmMaximumNonPagedPoolInBytes
VOID NTAPI MiInitializeNonPagedPoolThresholds(VOID)
VOID NTAPI MiMapPfnDatabase(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
ULONG MmNumberOfPhysicalPages
#define MI_MAX_INIT_NONPAGED_POOL_SIZE
struct _MM_SESSION_SPACE * PMM_SESSION_SPACE
#define MI_SYSTEM_VIEW_SIZE
PMMWSL MmSystemCacheWorkingSetList
VOID NTAPI MiInitializeColorTables(VOID)
#define RtlZeroMemory(Destination, Length)
PMMPTE MiFirstReservedZeroingPte
#define MI_SESSION_VIEW_SIZE
VOID NTAPI MiInitializeNonPagedPool(VOID)
#define MI_SESSION_POOL_SIZE
MEMORY_ALLOCATION_DESCRIPTOR MxOldFreeDescriptor
ULONG MmSizeOfNonPagedPoolInBytes
FORCEINLINE PVOID MiPteToAddress(PMMPTE PointerPte)
#define MM_ALLOCATION_GRANULARITY
VOID NTAPI KeFlushCurrentTb(VOID)
PMMPTE MiSessionImagePteEnd