15#define MODULE_INVOLVED_IN_ARM3
17#undef MmSystemRangeStart
158#if (_MI_PAGING_LEVELS == 2)
236#if (_MI_PAGING_LEVELS >= 3)
238#if (_MI_PAGING_LEVELS >= 4)
411 for (ListEntry = LoaderBlock->MemoryDescriptorListHead.
Flink;
412 ListEntry != &LoaderBlock->MemoryDescriptorListHead;
413 ListEntry = ListEntry->
Flink)
419 DPRINT(
"MD Type: %lx Base: %lx Count: %lx\n",
502 ULONG L2Associativity;
508 L2Associativity =
KeGetPcr()->SecondLevelCacheAssociativity;
557 PMMPTE PointerPte, LastPte;
568 while (PointerPte <= LastPte)
612 NextEntry = LoaderBlock->MemoryDescriptorListHead.
Flink;
613 while (NextEntry != &LoaderBlock->MemoryDescriptorListHead)
669 PMMPTE PointerPte, LastPte;
678 NextEntry = LoaderBlock->MemoryDescriptorListHead.
Flink;
679 while (NextEntry != &LoaderBlock->MemoryDescriptorListHead)
711 DPRINT(
"MD Type: %lx Base: %lx Count: %lx\n", MdBlock->
MemoryType, BasePage, PageCount);
714 while (PointerPte <= LastPte)
721 ASSERT(FreePageCount != 0);
765 PFN_NUMBER PageFrameIndex, StartupPdIndex, PtePageIndex;
791 Pfn1->
u3.
e2.ReferenceCount = 1;
796 MI_SET_PFN_PROCESS_NAME(Pfn1,
"Initial PDE");
838 Pfn2->
u3.
e2.ReferenceCount = 1;
843 MI_SET_PFN_PROCESS_NAME(Pfn2,
"Initial PTE");
883 Pfn1->
u3.
e2.ReferenceCount = 0xFFF0;
904 NextEntry = LoaderBlock->MemoryDescriptorListHead.
Flink;
905 while (NextEntry != &LoaderBlock->MemoryDescriptorListHead)
931 if (!PageCount)
break;
940 DPRINT1(
"You either have specified /BURNMEMORY or damaged RAM modules.\n");
950 PageFrameIndex += PageCount - 1;
958 if (!Pfn1->
u3.
e2.ReferenceCount)
993 if (!Pfn1->
u3.
e2.ReferenceCount)
999 Pfn1->
u3.
e2.ReferenceCount = 1;
1012 Pfn1->
u3.
e2.ReferenceCount = 0;
1038 PMMPTE PointerPte, LastPte;
1044 while (PointerPte <= LastPte)
1052 Pfn1->
u3.
e2.ReferenceCount = 1;
1097 NextMd = LoaderBlock->MemoryDescriptorListHead.
Flink;
1098 while (NextMd != &LoaderBlock->MemoryDescriptorListHead)
1115 NextMd = LoaderBlock->MemoryDescriptorListHead.
Flink;
1116 while (NextMd != &LoaderBlock->MemoryDescriptorListHead)
1151 BasePage =
Entry->BasePage;
1158 if (!(Pfn1->
u3.
e2.ReferenceCount) && (!Pfn1->
u1.
Flink))
1184 DPRINT(
"Loader pages freed: %lx\n", LoaderPages);
1252 DaclLength =
sizeof(
ACL) +
1413 PMMPDE PointerPde, LastPde;
1426 while (PointerPde <= LastPde)
1470 PCHAR Consumer =
"Unknown";
1472 ULONG ActivePages = 0, FreePages = 0, OtherPages = 0;
1509 if (!Pfn1)
continue;
1520 Consumer =
"Active and Valid";
1526 Consumer =
"Zero Page List";
1532 Consumer =
"Free Page List";
1538 Consumer =
"Other (ASSERT!)";
1545 UsageBucket[Pfn1->PfnUsage]++;
1552 DbgPrint(
"0x%08p:\t%20s\t(%04d.%04d)\t[%16s - %16s]\n",
1555 Pfn1->
u3.
e2.ReferenceCount,
1558 MI_USAGE_TEXT[Pfn1->PfnUsage],
1566 DbgPrint(
"Active: %5d pages\t[%6d KB]\n", ActivePages, (ActivePages <<
PAGE_SHIFT) / 1024);
1567 DbgPrint(
"Free: %5d pages\t[%6d KB]\n", FreePages, (FreePages <<
PAGE_SHIFT) / 1024);
1568 DbgPrint(
"Other: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1569 DbgPrint(
"-----------------------------------------\n");
1572 DbgPrint(
"Boot Images: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1574 DbgPrint(
"System Drivers: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1576 DbgPrint(
"PFN Database: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1578 DbgPrint(
"Page Tables: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1580 DbgPrint(
"System PTEs: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1582 DbgPrint(
"VADs: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1584 DbgPrint(
"Continuous Allocs: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1586 DbgPrint(
"MDLs: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1588 DbgPrint(
"NonPaged Pool: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1590 DbgPrint(
"Paged Pool: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1592 DbgPrint(
"Demand Zero: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1594 DbgPrint(
"Zero Loop: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1596 DbgPrint(
"PEB/TEB: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1598 DbgPrint(
"Kernel Stack: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1600 DbgPrint(
"Init Memory: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1602 DbgPrint(
"Sections: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1604 DbgPrint(
"Cache: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1606 DbgPrint(
"Free: %5d pages\t[%6d KB]\n", OtherPages, (OtherPages <<
PAGE_SHIFT) / 1024);
1641 Buffer->NumberOfRuns = InitialRuns;
1646 NextEntry = LoaderBlock->MemoryDescriptorListHead.
Flink;
1647 while (NextEntry != &LoaderBlock->MemoryDescriptorListHead)
1700 ASSERT(Run <= Buffer->NumberOfRuns);
1705 if (InitialRuns >
Run)
1736 Buffer->NumberOfPages = PageCount;
1752#if (_MI_PAGING_LEVELS >= 3)
1755#elif (_MI_PAGING_LEVELS == 2)
1823 ASSERT(MaxNumberOfPdes != 0);
1824 NumberOfPdes =
min(NumberOfPdes, MaxNumberOfPdes);
1852#if (_MI_PAGING_LEVELS >= 3)
1893#if (_MI_PAGING_LEVELS >= 3)
1932 BitMapSize = (
ULONG)NumberOfPages;
2010 "FirmwareTemporary ",
2011 "FirmwarePermanent ",
2018 "ConsoleOutDriver ",
2020 "StartupKernelStack",
2021 "StartupPanicStack ",
2033 DPRINT1(
"Base\t\tLength\t\tType\n");
2036 NextEntry = NextEntry->
Flink)
2059 PMMPTE PointerPte, TestPte;
2109#if (_MI_PAGING_LEVELS >= 3)
2111#if (_MI_PAGING_LEVELS >= 4)
2133 for (
i = 0;
i < 8;
i++)
2205 DPRINT(
"System PTE count has been tuned to %lu (%lu bytes)\n",
2320 ASSERT(PointerPte == TestPte);
2326 ASSERT(PointerPte == TestPte);
2330 for (
j = 0;
j < 20;
j += 1)
2334 ASSERT(PointerPte == TestPte);
2342 ASSERT(PointerPte == TestPte);
2387 DPRINT(
"PHYSICAL RAM [0x%08p to 0x%08p]\n",
2528 DPRINT1(
"System cache working set too big\n");
PVOID MmSystemPteSpaceStart
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
DECLSPEC_NORETURN VOID NTAPI KeBugCheckEx(IN ULONG BugCheckCode, IN ULONG_PTR BugCheckParameter1, IN ULONG_PTR BugCheckParameter2, IN ULONG_PTR BugCheckParameter3, IN ULONG_PTR BugCheckParameter4)
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define RtlInitializeBitMap
#define NT_SUCCESS(StatCode)
#define RTL_CONSTANT_STRING(s)
#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)
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)
FORCEINLINE BOOLEAN MiIsMemoryTypeInvisible(TYPE_OF_MEMORY MemoryType)
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)
FORCEINLINE BOOLEAN MiIsMemoryTypeFree(TYPE_OF_MEMORY MemoryType)
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 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 MiAddressToPte(x)
#define MI_ALLOCATION_FRAGMENT
#define MiAddressToPteOffset(x)
#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 MiAddressToPde(x)
#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)
#define OBJ_KERNEL_HANDLE
@ 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
TYPE_OF_MEMORY MemoryType
struct _MMPFN::@1916::@1922 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 RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define CONTAINING_RECORD(address, type, field)
#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
NTSYSAPI NTSTATUS WINAPI RtlAddAccessAllowedAce(PACL, DWORD, DWORD, PSID)
NTSYSAPI NTSTATUS WINAPI RtlSetDaclSecurityDescriptor(PSECURITY_DESCRIPTOR, BOOLEAN, PACL, BOOLEAN)
_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