15#define MODULE_INVOLVED_IN_ARM3
17#undef MmSystemRangeStart
157#if (_MI_PAGING_LEVELS == 2)
235#if (_MI_PAGING_LEVELS >= 3)
237#if (_MI_PAGING_LEVELS >= 4)
410 for (ListEntry = LoaderBlock->MemoryDescriptorListHead.
Flink;
411 ListEntry != &LoaderBlock->MemoryDescriptorListHead;
412 ListEntry = ListEntry->
Flink)
418 DPRINT(
"MD Type: %lx Base: %lx Count: %lx\n",
510 ULONG L2Associativity;
516 L2Associativity =
KeGetPcr()->SecondLevelCacheAssociativity;
565 PMMPTE PointerPte, LastPte;
576 while (PointerPte <= LastPte)
620 NextEntry = LoaderBlock->MemoryDescriptorListHead.
Flink;
621 while (NextEntry != &LoaderBlock->MemoryDescriptorListHead)
677 PMMPTE PointerPte, LastPte;
686 NextEntry = LoaderBlock->MemoryDescriptorListHead.
Flink;
687 while (NextEntry != &LoaderBlock->MemoryDescriptorListHead)
719 DPRINT(
"MD Type: %lx Base: %lx Count: %lx\n", MdBlock->
MemoryType, BasePage, PageCount);
722 while (PointerPte <= LastPte)
729 ASSERT(FreePageCount != 0);
773 PFN_NUMBER PageFrameIndex, StartupPdIndex, PtePageIndex;
799 Pfn1->
u3.
e2.ReferenceCount = 1;
804 MI_SET_PFN_PROCESS_NAME(Pfn1,
"Initial PDE");
846 Pfn2->
u3.
e2.ReferenceCount = 1;
851 MI_SET_PFN_PROCESS_NAME(Pfn2,
"Initial PTE");
891 Pfn1->
u3.
e2.ReferenceCount = 0xFFF0;
912 NextEntry = LoaderBlock->MemoryDescriptorListHead.
Flink;
913 while (NextEntry != &LoaderBlock->MemoryDescriptorListHead)
939 if (!PageCount)
break;
948 DPRINT1(
"You either have specified /BURNMEMORY or damaged RAM modules.\n");
958 PageFrameIndex += PageCount - 1;
966 if (!Pfn1->
u3.
e2.ReferenceCount)
1001 if (!Pfn1->
u3.
e2.ReferenceCount)
1007 Pfn1->
u3.
e2.ReferenceCount = 1;
1020 Pfn1->
u3.
e2.ReferenceCount = 0;
1046 PMMPTE PointerPte, LastPte;
1052 while (PointerPte <= LastPte)
1060 Pfn1->
u3.
e2.ReferenceCount = 1;
1105 NextMd = LoaderBlock->MemoryDescriptorListHead.
Flink;
1106 while (NextMd != &LoaderBlock->MemoryDescriptorListHead)
1123 NextMd = LoaderBlock->MemoryDescriptorListHead.
Flink;
1124 while (NextMd != &LoaderBlock->MemoryDescriptorListHead)
1159 BasePage =
Entry->BasePage;
1166 if (!(Pfn1->
u3.
e2.ReferenceCount) && (!Pfn1->
u1.
Flink))
1192 DPRINT(
"Loader pages freed: %lx\n", LoaderPages);
1260 DaclLength =
sizeof(
ACL) +
1421 PMMPDE PointerPde, LastPde;
1434 while (PointerPde <= LastPde)
1478 PCHAR Consumer =
"Unknown";
1480 ULONG ActivePages = 0, FreePages = 0, OtherPages = 0;
1517 if (!Pfn1)
continue;
1528 Consumer =
"Active and Valid";
1534 Consumer =
"Zero Page List";
1540 Consumer =
"Free Page List";
1546 Consumer =
"Other (ASSERT!)";
1553 UsageBucket[Pfn1->PfnUsage]++;
1560 DbgPrint(
"0x%08p:\t%20s\t(%04d.%04d)\t[%16s - %16s]\n",
1563 Pfn1->
u3.
e2.ReferenceCount,
1566 MI_USAGE_TEXT[Pfn1->PfnUsage],
1574 DbgPrint(
"Active: %5d pages\t[%6d KB]\n", ActivePages, (ActivePages <<
PAGE_SHIFT) / 1024);
1575 DbgPrint(
"Free: %5d pages\t[%6d KB]\n", FreePages, (FreePages <<
PAGE_SHIFT) / 1024);
1576 DbgPrint(
"Other: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1577 DbgPrint(
"-----------------------------------------\n");
1580 DbgPrint(
"Boot Images: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1582 DbgPrint(
"System Drivers: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1584 DbgPrint(
"PFN Database: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1586 DbgPrint(
"Page Tables: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1588 DbgPrint(
"System PTEs: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1590 DbgPrint(
"VADs: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1592 DbgPrint(
"Continuous Allocs: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1594 DbgPrint(
"MDLs: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1596 DbgPrint(
"NonPaged Pool: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1598 DbgPrint(
"Paged Pool: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1600 DbgPrint(
"Demand Zero: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1602 DbgPrint(
"Zero Loop: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1604 DbgPrint(
"PEB/TEB: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1606 DbgPrint(
"Kernel Stack: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1608 DbgPrint(
"Init Memory: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1610 DbgPrint(
"Sections: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1612 DbgPrint(
"Cache: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1614 DbgPrint(
"Free: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1649 Buffer->NumberOfRuns = InitialRuns;
1654 NextEntry = LoaderBlock->MemoryDescriptorListHead.
Flink;
1655 while (NextEntry != &LoaderBlock->MemoryDescriptorListHead)
1708 ASSERT(Run <= Buffer->NumberOfRuns);
1713 if (InitialRuns >
Run)
1744 Buffer->NumberOfPages = PageCount;
1760#if (_MI_PAGING_LEVELS >= 3)
1763#elif (_MI_PAGING_LEVELS == 2)
1849#if (_MI_PAGING_LEVELS >= 3)
1890#if (_MI_PAGING_LEVELS >= 3)
1929 BitMapSize = (
ULONG)NumberOfPages;
2007 "FirmwareTemporary ",
2008 "FirmwarePermanent ",
2015 "ConsoleOutDriver ",
2017 "StartupKernelStack",
2018 "StartupPanicStack ",
2030 DPRINT1(
"Base\t\tLength\t\tType\n");
2033 NextEntry = NextEntry->
Flink)
2056 PMMPTE PointerPte, TestPte;
2106#if (_MI_PAGING_LEVELS >= 3)
2108#if (_MI_PAGING_LEVELS >= 4)
2130 for (
i = 0;
i < 8;
i++)
2202 DPRINT(
"System PTE count has been tuned to %lu (%lu bytes)\n",
2311 ASSERT(PointerPte == TestPte);
2317 ASSERT(PointerPte == TestPte);
2321 for (
j = 0;
j < 20;
j += 1)
2325 ASSERT(PointerPte == TestPte);
2333 ASSERT(PointerPte == TestPte);
2378 DPRINT(
"PHYSICAL RAM [0x%08p to 0x%08p]\n",
2519 DPRINT1(
"System cache working set too big\n");
SIZE_T MmHeapSegmentReserve
SIZE_T MmMinimumNonPagedPoolSize
ULONG MmMaximumNonPagedPoolPercent
PFN_NUMBER MiNumberOfFreePages
PVOID MmNonPagedSystemStart
PFN_NUMBER MmSystemCacheWsMinimum
SIZE_T MmHeapDeCommitFreeBlockThreshold
SIZE_T MmTotalCommitLimitMaximum
PMEMORY_ALLOCATION_DESCRIPTOR MxFreeDescriptor
PFN_NUMBER MmLowMemoryThreshold
VOID NTAPI MiInitializePfnDatabase(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
SIZE_T MmMinimumStackCommitInBytes
SIZE_T MmTotalCommitLimit
MM_SYSTEMSIZE MmSystemSize
ULONG MmSecondaryColorMask
SIZE_T MmHeapDeCommitTotalFreeThreshold
BOOLEAN NTAPI MiInitializeMemoryEvents(VOID)
PFN_COUNT MmNumberOfPhysicalPages
PFN_NUMBER MmMinimumFreePages
SIZE_T MmSizeOfNonPagedPoolInBytes
PFN_NUMBER MiLowPagedPoolThreshold
VOID NTAPI MiInitializeColorTables(VOID)
PFN_NUMBER NTAPI MxGetNextPage(IN PFN_NUMBER PageCount)
SIZE_T MmSessionImageSize
PMMPTE MiSessionImagePteEnd
VOID NTAPI MmDumpArmPfnDatabase(IN BOOLEAN StatusOnly)
BOOLEAN NTAPI MmArmInitSystem(IN ULONG Phase, IN PLOADER_PARAMETER_BLOCK LoaderBlock)
VOID NTAPI MiBuildPfnDatabaseFromPages(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
PFN_NUMBER MmMaximumNonPagedPoolInPages
VOID NTAPI MiAdjustWorkingSetManagerParameters(IN BOOLEAN Client)
VOID NTAPI MiBuildPagedPool(VOID)
PVOID MiSessionImageStart
VOID NTAPI MiScanMemoryDescriptors(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
PFN_NUMBER MmPlentyFreePages
PMMWSL MmSystemCacheWorkingSetList
PFN_NUMBER MiHighPagedPoolThreshold
VOID NTAPI MmFreeLoaderBlock(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
PMMPTE MiSessionImagePteStart
VOID NTAPI MiAddHalIoMappings(VOID)
VOID NTAPI MiDbgDumpMemoryDescriptors(VOID)
VOID NTAPI MiBuildPfnDatabaseZeroPage(VOID)
PFN_NUMBER MmLowestPhysicalPage
ULONG MiNumberDescriptors
BOOLEAN MmLargeSystemCache
NTSTATUS NTAPI MiCreateMemoryEvent(IN PUNICODE_STRING Name, OUT PKEVENT *Event)
PKEVENT MiLowNonPagedPoolEvent
PKEVENT MiHighMemoryEvent
PPHYSICAL_MEMORY_DESCRIPTOR NTAPI MmInitializeMemoryLimits(IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN PBOOLEAN IncludeType)
SIZE_T MmMaximumNonPagedPoolInBytes
ULONG MmMaxAdditionNonPagedPoolPerMb
PVOID MmNonPagedPoolExpansionStart
PFN_NUMBER MmHighestPhysicalPage
ULONG_PTR MmSizeOfSystemCacheInPages
ULONG_PTR MmUserProbeAddress
VOID NTAPI MiNotifyMemoryEvents(VOID)
ULONG MmMinAdditionNonPagedPoolPerMb
VOID NTAPI MiMapPfnDatabase(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
PFN_NUMBER MiLowNonPagedPoolThreshold
MMSUPPORT MmSystemCacheWs
PFN_NUMBER MiHighNonPagedPoolThreshold
MEMORY_ALLOCATION_DESCRIPTOR MxOldFreeDescriptor
VOID NTAPI MiComputeColorInformation(VOID)
PKEVENT MiHighPagedPoolEvent
PFN_NUMBER MxPfnAllocation
PVOID MmNonPagedPoolStart
BOOLEAN MiDbgEnableMdDump
SIZE_T MmHeapSegmentCommit
VOID NTAPI MiBuildPfnDatabaseFromLoaderBlock(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
SIZE_T MmDefaultMaximumNonPagedPool
SIZE_T MmAllocationFragment
PKEVENT MiLowPagedPoolEvent
PFN_NUMBER MmSizeOfPagedPoolInPages
LARGE_INTEGER MmCriticalSectionTimeout
PFN_COUNT MmNumberOfSystemPtes
PPHYSICAL_MEMORY_DESCRIPTOR MmPhysicalMemoryBlock
BOOLEAN NTAPI MiIsRegularMemory(IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN PFN_NUMBER Pfn)
SIZE_T MmSizeOfPagedPoolInBytes
PMMCOLOR_TABLES MmFreePagesByColor[FreePageList+1]
VOID NTAPI MiBuildPfnDatabaseSelf(VOID)
PFN_NUMBER MmHighMemoryThreshold
PFN_NUMBER MmSystemCacheWsMaximum
PKEVENT MiHighNonPagedPoolEvent
PVOID MmHighestUserAddress
ULONG MmCritsectTimeoutSeconds
HARDWARE_PTE_ARMV6 TempPte
HARDWARE_PDE_ARMV6 TempPde
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define NT_SUCCESS(StatCode)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define KeRaiseIrql(irql, oldIrql)
#define KeInitializeEvent(pEvt, foo, foo2)
#define KeLowerIrql(oldIrql)
#define KeSetEvent(pEvt, foo, foo2)
#define InitializeListHead(ListHead)
VOID NTAPI KeClearEvent(IN PKEVENT Event)
LONG NTAPI KeReadStateEvent(IN PKEVENT Event)
#define ExInitializePushLock
VOID NTAPI InitializePool(IN POOL_TYPE PoolType, IN ULONG Threshold)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
VOID FASTCALL KeInitializeGuardedMutex(OUT PKGUARDED_MUTEX GuardedMutex)
#define OBJ_KERNEL_HANDLE
NTSYSAPI void WINAPI RtlInitializeBitMap(PRTL_BITMAP, PULONG, ULONG)
NTSYSAPI void WINAPI RtlSetAllBits(PRTL_BITMAP)
NTSYSAPI NTSTATUS WINAPI RtlAddAccessAllowedAce(PACL, DWORD, DWORD, PSID)
NTSYSAPI void WINAPI RtlClearAllBits(PRTL_BITMAP)
NTSYSAPI void WINAPI RtlClearBits(PRTL_BITMAP, ULONG, ULONG)
NTSYSAPI NTSTATUS WINAPI RtlSetDaclSecurityDescriptor(PSECURITY_DESCRIPTOR, BOOLEAN, PACL, BOOLEAN)
NTSYSAPI void WINAPI RtlSetBits(PRTL_BITMAP, ULONG, ULONG)
PLOADER_PARAMETER_BLOCK KeLoaderBlock
VOID NTAPI MiInitializeDriverLargePageList(VOID)
VOID NTAPI MiInitializeLargePageSupport(VOID)
VOID NTAPI MiSyncCachedRanges(VOID)
PFN_COUNT MiExpansionPoolPagesInitialCharge
KGUARDED_MUTEX MmSectionBasedMutex
FORCEINLINE BOOLEAN MI_IS_PHYSICAL_ADDRESS(IN PVOID Address)
PFN_NUMBER NTAPI MiRemoveZeroPage(IN ULONG Color)
VOID NTAPI MiInitializePoolEvents(VOID)
SLIST_HEADER MmDeadStackSListHead
struct _MMCOLOR_TABLES MMCOLOR_TABLES
#define MI_SET_PFN_DELETED(x)
VOID NTAPI MiInsertPageInFreeList(IN PFN_NUMBER PageFrameIndex)
KGUARDED_MUTEX MmPagedPoolMutex
PFN_NUMBER MmResidentAvailableAtInit
MM_PAGED_POOL_INFO MmPagedPoolInfo
VOID NTAPI MiInitializePfnForOtherProcess(IN PFN_NUMBER PageFrameIndex, IN PVOID PteAddress, IN PFN_NUMBER PteFrame)
FORCEINLINE VOID MI_WRITE_VALID_PDE(IN PMMPDE PointerPde, IN MMPDE TempPde)
VOID NTAPI MiDecrementShareCount(IN PMMPFN Pfn1, IN PFN_NUMBER PageFrameIndex)
struct _MMCOLOR_TABLES * PMMCOLOR_TABLES
MMPFNLIST MmStandbyPageListByPriority[8]
PMMPTE NTAPI MiReserveSystemPtes(IN ULONG NumberOfPtes, IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType)
KGUARDED_MUTEX MmSectionCommitMutex
BOOLEAN NTAPI MiInitializeSystemSpaceMap(IN PMMSESSION InputSession OPTIONAL)
FORCEINLINE VOID MI_WRITE_VALID_PTE(IN PMMPTE PointerPte, IN MMPTE TempPte)
KEVENT MmZeroingPageEvent
LIST_ENTRY MmWorkingSetExpansionHead
ULONG MmMaximumDeadKernelStacks
BOOLEAN NTAPI MmIsAddressValid(IN PVOID VirtualAddress)
#define MiAddressToPte(x)
#define MiAddressToPteOffset(x)
#define MiAddressToPde(x)
#define ExFreePoolWithTag(_P, _T)
#define EVENT_QUERY_STATE
#define InitializeObjectAttributes(p, n, a, r, s)
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
#define MI_HIGHEST_USER_ADDRESS
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL Dacl
NTSYSAPI NTSTATUS NTAPI RtlCreateAcl(PACL Acl, ULONG AclSize, ULONG AclRevision)
NTSYSAPI ULONG NTAPI RtlLengthSid(IN PSID Sid)
NTSYSAPI NTSTATUS NTAPI RtlCreateSecurityDescriptor(_Out_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ ULONG Revision)
POBJECT_TYPE ExEventObjectType
#define MI_ALLOCATION_FRAGMENT
#define MI_PAGED_POOL_START
#define MI_USER_PROBE_ADDRESS
#define MI_DEFAULT_SYSTEM_RANGE_START
#define MI_WRITE_VALID_PPE
#define MiSubsectionPteToSubsection(x)
FORCEINLINE VOID MI_MAKE_PROTOTYPE_PTE(IN PMMPTE NewPte, IN PMMPTE PointerPte)
#define MI_MIN_PAGES_FOR_SYSPTE_BOOST
#define MI_MIN_PAGES_FOR_SYSPTE_TUNING
#define MI_SYSTEM_CACHE_WS_START
#define MI_MAX_SECONDARY_COLORS
FORCEINLINE PMMPTE MiAddressToPpe(PVOID Address)
#define MiProtoPteToPte(x)
FORCEINLINE PMMPTE MiAddressToPxe(PVOID Address)
#define MI_IS_PAGE_LARGE(x)
#define MI_HIGHEST_SYSTEM_ADDRESS
#define MI_NONPAGED_POOL_END
#define MI_MIN_ALLOCATION_FRAGMENT
#define MI_MIN_INIT_PAGED_POOLSIZE
#define MI_SECONDARY_COLORS
#define MI_MIN_SECONDARY_COLORS
#define MI_SYSTEM_CACHE_END
#define MI_MIN_PAGES_FOR_SYSPTE_BOOST_BOOST
FORCEINLINE VOID MI_MAKE_SUBSECTION_PTE(_Out_ PMMPTE NewPte, _In_ PVOID Segment)
#define MI_SYSTEM_CACHE_START
#define MI_MAX_ALLOCATION_FRAGMENT
#define MiPteToAddress(_Pte)
VOID NTAPI KeFlushCurrentTb(VOID)
PFN_NUMBER MmResidentAvailablePages
BOOLEAN NTAPI MiInitializeLoadedModuleList(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
FORCEINLINE PMMPFN MiGetPfnEntry(IN PFN_NUMBER Pfn)
#define MI_SET_PROCESS2(x)
@ MI_USAGE_NONPAGED_POOL_EXPANSION
@ MI_USAGE_LEGACY_PAGE_DIRECTORY
@ MI_USAGE_CONTINOUS_ALLOCATION
@ MI_USAGE_PAGE_DIRECTORY
@ MI_USAGE_KERNEL_STACK_EXPANSION
LIST_ENTRY MmLoadedUserImageList
VOID NTAPI MiReloadBootLoadedDrivers(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
VOID NTAPI MiInitializeSpecialPool(VOID)
PFN_NUMBER MmAvailablePages
VOID NTAPI KeInitializeMutant(IN PKMUTANT Mutant, IN BOOLEAN InitialOwner)
PFN_NUMBER MmSystemPageDirectory[PPE_PER_PAGE]
VOID NTAPI MiInitializeSessionSpaceLayout(VOID)
NTSTATUS NTAPI MiInitMachineDependent(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
NTSTATUS NTAPI ObReferenceObjectByHandle(IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL)
VOID NTAPI KeBugCheckEx(_In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4)
@ LoaderFirmwareTemporary
@ LoaderFirmwarePermanent
#define KERNEL_LARGE_STACK_SIZE
#define KERNEL_STACK_SIZE
base of all file and directory entries
struct _LIST_ENTRY * Flink
PLOADER_PARAMETER_EXTENSION Extension
LIST_ENTRY MemoryDescriptorListHead
ULONG_PTR LoaderPagesSpanned
TYPE_OF_MEMORY MemoryType
struct _MMPFN::@1774::@1780 e2
EX_PUSH_LOCK WorkingSetMutex
PMMPTE LastPteForPagedPool
PRTL_BITMAP EndOfPagedPoolBitmap
PRTL_BITMAP PagedPoolAllocationMap
PMMPDE NextPdeForPagedPoolExpansion
PMMPTE FirstPteForPagedPool
PHYSICAL_MEMORY_RUN Run[1]
#define LIST_HEAD(name, type)
#define RTL_CONSTANT_STRING(s)
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define CONTAINING_RECORD(address, type, field)
struct _RTL_BITMAP RTL_BITMAP
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
#define EVENT_MODIFY_STATE
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH _In_opt_ PEPROCESS _In_opt_ PETHREAD _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor
_Out_ PHANDLE EventHandle
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
#define ROUND_TO_PAGES(Size)
#define BYTES_TO_PAGES(Size)
enum _MM_SYSTEM_SIZE MM_SYSTEMSIZE
FORCEINLINE VOID InitializeSListHead(_Out_ PSLIST_HEADER SListHead)
#define SECURITY_DESCRIPTOR_REVISION