16#define MODULE_INVOLVED_IN_ARM3
34 4, 4, 4, 4, 4, 4, 4, 4
76 if (Pte->u.List.OneEntry)
83 return (
ULONG)Pte->u.List.NextEntry;
93 PMMPTE PreviousPte, NextPte, ReturnPte;
128 PreviousPte = NextPte;
182 ReturnPte->
u.
Long = 0;
211 PreviousPte = NextPte;
270 PMMPTE PreviousPte, NextPte, InsertPte;
275 ASSERT(NumberOfPtes != 0);
312 (StartingPte + NumberOfPtes == NextPte))
319 if (NextPte < StartingPte)
320 StartingPte = NextPte;
345 InsertPte = PreviousPte;
350 PreviousPte = NextPte;
357 if (InsertPte ==
NULL)
358 InsertPte = PreviousPte;
363 if (NumberOfPtes != 1)
367 NextPte = StartingPte + 1;
371 StartingPte->u.List.OneEntry = 1;
395 ASSERT(NumberOfPtes >= 1);
403 DPRINT(
"System PTE space for %d starting at: %p and ending at: %p\n",
423 StartingPte->
u.
Long = 0;
424 StartingPte->u.List.NextEntry = NumberOfPtes;
VOID FASTCALL KeReleaseQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, IN KIRQL OldIrql)
KIRQL FASTCALL KeAcquireQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber)
enum _MMSYSTEM_PTE_POOL_TYPE MMSYSTEM_PTE_POOL_TYPE
FORCEINLINE VOID KeFlushProcessTb(VOID)
#define MI_SYSTEM_PTE_BASE
#define MM_EMPTY_PTE_LIST
VOID NTAPI MiInitializeSystemPtes(IN PMMPTE StartingPte, IN ULONG NumberOfPtes, IN MMSYSTEM_PTE_POOL_TYPE PoolType)
const ULONG MmSysPteIndex[5]
PMMPTE MmSystemPtesStart[MaximumPtePoolTypes]
PMMPTE MmSystemPtesEnd[MaximumPtePoolTypes]
LONG MmSysPteListBySizeCount[5]
VOID NTAPI MiReleaseSystemPtes(IN PMMPTE StartingPte, IN ULONG NumberOfPtes, IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType)
FORCEINLINE ULONG MI_GET_CLUSTER_SIZE(IN PMMPTE Pte)
MMPTE MmFirstFreeSystemPte[MaximumPtePoolTypes]
const UCHAR MmSysPteTables[]
ULONG MmTotalFreeSystemPtes[MaximumPtePoolTypes]
PMMPTE NTAPI MiReserveSystemPtes(IN ULONG NumberOfPtes, IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType)
PMMPTE NTAPI MiReserveAlignedSystemPtes(IN ULONG NumberOfPtes, IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType, IN ULONG Alignment)
ULONG MiNumberOfExtraSystemPdes
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
@ LockQueueSystemSpaceLock