#include "mi.h"
Go to the source code of this file.
Defines | |
#define | MM_PROCESS_COMMIT_CHARGE 3 |
#define | MM_PROCESS_CREATE_CHARGE 5 |
#define | HEADER_FILE |
#define | MAX_STACK_PAGES (KERNEL_LARGE_STACK_SIZE / PAGE_SIZE) |
#define | MI_INIT_PEB_FROM_IMAGE(Hdrs, ImgConfig) |
Functions | |
ULONG | MiGetSystemPteListCount (IN ULONG ListSize) |
PFN_NUMBER | MiMakeOutswappedPageResident (IN PMMPTE ActualPteAddress, IN PMMPTE PointerTempPte, IN ULONG Global, IN PFN_NUMBER ContainingPage) |
PVOID | MiCreatePebOrTeb (IN PEPROCESS TargetProcess, IN ULONG Size) |
VOID | MiDeleteAddressesInWorkingSet (IN PEPROCESS Process) |
VOID | MiDeleteValidAddress (IN PVOID Va, IN PEPROCESS CurrentProcess) |
VOID | MiDeleteFreeVm (IN PVOID StartingAddress, IN PVOID EndingAddress) |
VOID | VadTreeWalk (IN PMMVAD Start) |
PMMVAD | MiAllocateVad (IN ULONG_PTR StartingVirtualAddress, IN ULONG_PTR EndingVirtualAddress, IN LOGICAL Deletable) |
PVOID | MiPaeReplenishList (VOID) |
PVOID | MiAllocateLowMemory (IN SIZE_T NumberOfBytes, IN PFN_NUMBER LowestAcceptablePfn, IN PFN_NUMBER HighestAcceptablePfn, IN PFN_NUMBER BoundaryPfn, IN PVOID CallingAddress, IN ULONG Tag) |
LOGICAL | MiFreeLowMemory (IN PVOID BaseAddress, IN ULONG Tag) |
BOOLEAN | MmCreateProcessAddressSpace (IN ULONG MinimumWorkingSetSize, IN PEPROCESS NewProcess, OUT PULONG_PTR DirectoryTableBase) |
NTSTATUS | MmInitializeProcessAddressSpace (IN PEPROCESS ProcessToInitialize, IN PEPROCESS ProcessToClone OPTIONAL, IN PVOID SectionToMap OPTIONAL, OUT PUNICODE_STRING *AuditName OPTIONAL) |
VOID | MmDeleteProcessAddressSpace (IN PEPROCESS Process) |
VOID | MmCleanProcessAddressSpace () |
PVOID | MmCreateKernelStack (IN BOOLEAN LargeStack) |
VOID | MmDeleteKernelStack (IN PVOID PointerKernelStack, IN BOOLEAN LargeStack) |
NTSTATUS | MmGrowKernelStack (IN PVOID CurrentStack) |
VOID | MmOutPageKernelStack (IN PKTHREAD Thread) |
VOID | MmInPageKernelStack (IN PKTHREAD Thread) |
VOID | MmOutSwapProcess (IN PKPROCESS Process) |
VOID | MmInSwapProcess (IN PKPROCESS Process) |
PTEB | MmCreateTeb (IN PEPROCESS TargetProcess, IN PINITIAL_TEB InitialTeb, IN PCLIENT_ID ClientId) |
PPEB | MmCreatePeb (IN PEPROCESS TargetProcess, IN PINITIAL_PEB InitialPeb) |
VOID | MmDeleteTeb (IN PEPROCESS TargetProcess, IN PVOID TebBase) |
VOID | MmAllowWorkingSetExpansion (VOID) |
PFN_NUMBER | MiMakeOutswappedPageResident (IN PMMPTE ActualPteAddress, IN OUT PMMPTE PointerTempPte, IN ULONG Global, IN PFN_NUMBER ContainingPage) |
VOID | MmSetMemoryPriorityProcess (IN PEPROCESS Process, IN UCHAR MemoryPriority) |
Variables | |
ULONG | MmProductType |
ULONG | MmWorkingSetReductionMax |
MM_SYSTEMSIZE | MmSystemSize |
PVOID | BBTBuffer |
SIZE_T | MmProcessCommit |
ULONG | MmKernelStackPages |
PFN_NUMBER | MmKernelStackResident |
ULONG | MmLargeStacks |
ULONG | MmSmallStacks |
MMPTE | KernelDemandZeroPte = {MM_KERNEL_DEMAND_ZERO_PTE} |
CCHAR | MmRotatingUniprocessorNumber |
ULONG | MiFaultRetries |
LOGICAL | MiNoLowMemory |
|
|
|
Referenced by MmOutPageKernelStack(). |
|
Definition at line 4418 of file procsup.c. Referenced by MmCreatePeb(). |
|
Definition at line 42 of file procsup.c. Referenced by MmCreateProcessAddressSpace(), MmDeleteProcessAddressSpace(), and MmOutSwapProcess(). |
|
Definition at line 43 of file procsup.c. Referenced by MmCleanProcessAddressSpace(), and MmDeleteProcessAddressSpace(). |
|
Referenced by MiAllocateContiguousMemory(). |
|
Definition at line 5659 of file procsup.c. References ASSERT, _MMVAD::EndingVpn, ExAllocatePoolWithTag, MI_VA_TO_VPN, MM_MAX_COMMIT, MM_READONLY, NonPagedPool, NULL, _MMVAD::StartingVpn, TRUE, _MMVAD::u, _MMVAD::u2, and _MMVAD::u3. Referenced by MmInitializeProcessAddressSpace().
|
|
Referenced by MmCreatePeb(), and MmCreateTeb(). |
|
Definition at line 5006 of file procsup.c. References ASSERT, _MMWSL::FirstDynamic, _MMWSL::HashTable, _MMWSL::LastEntry, _MMWSL::LastInitializedWsle, LOCK_PFN, MI_PFN_ELEMENT, MiDeleteValidAddress(), MiGetPdeAddress, MiGetPpeAddress, MiGetPteAddress, MiLocateWsle(), MiReleaseWsle(), MiSwapWslEntries(), MmWorkingSetList, MmWsle, NULL, PAGE_ALIGN, _MMPTE::u, _MMPFN::u1, _MMWSLE::u1, and UNLOCK_PFN. Referenced by MmCleanProcessAddressSpace().
|
|
Referenced by MmDeleteTeb(), and NtFreeVirtualMemory(). |
|
Definition at line 5142 of file procsup.c. References ASSERT, MI_CAPTURE_DIRTY_BIT_TO_PFN, MI_GET_PAGE_FRAME_FROM_PTE, MI_PFN_ELEMENT, MI_SET_PFN_DELETED, MiDecrementCloneBlockReference(), MiDecrementShareAndValidCount, MiDecrementShareCount(), MiDecrementShareCountOnly, MiGetPdeAddress, MiGetPpeAddress, MiGetPteAddress, MiLocateCloneAddress, MM_DEMAND_ZERO_WRITE_PTE, NULL, PMMCLONE_BLOCK, _MMPFN::PteAddress, _MMPFN::PteFrame, _MMPTE::u, and _MMPFN::u3. Referenced by MiDeleteAddressesInWorkingSet().
|
|
Referenced by MmFreeContiguousMemory(), and MmFreeContiguousMemorySpecifyCache(). |
|
Definition at line 1987 of file sysptes.c. References ASSERT, Index, MM_PTE_TABLE_LIMIT, MmSysPteListBySizeCount, and MmSysPteTables.
|
|
Definition at line 5287 of file procsup.c. References ActiveAndValid, APC_LEVEL, ASSERT, Event(), FALSE, File, GET_PAGING_FILE_NUMBER, GET_PAGING_FILE_OFFSET, IoPageRead(), KeBugCheckEx(), KeClearEvent, KeDelayExecutionThread(), KeInitializeEvent, KernelMode, KeWaitForSingleObject(), LOCK_PFN, _MDL::MappedSystemVa, MDL_MAPPED_TO_SYSTEM_VA, MDL_PAGES_LOCKED, _MDL::MdlFlags, MI_GET_PAGE_COLOR_FROM_PTE, MI_GET_PAGE_FRAME_FROM_TRANSITION_PTE, MI_MAKE_TRANSITION_PTE_VALID, MI_MAKE_VALID_PTE, MI_PFN_ELEMENT, MI_SET_GLOBAL_STATE, MI_SET_PTE_DIRTY, MI_WRITE_VALID_PTE, MiEnsureAvailablePageOrWait(), MiGetVirtualAddressMappedByPte, MiInitializePfnForOtherProcess(), MiIoRetryLevel, MiMapPageInHyperSpace(), MiReleasePageFileSpace(), MiRemoveAnyPage(), MiUnlinkPageFromList(), MiUnmapPageInHyperSpace, MM_KERNEL_DEMAND_ZERO_PTE, MM_PFN_LOCK_ASSERT, MM_READWRITE, MmHalfSecond, MmInitializeMdl, MmIsRetryIoStatus, MmPagingFile, MmUnmapLockedPages(), NT_SUCCESS, NTSTATUS(), NULL, _MMPFN::OriginalPte, PAGE_SHIFT, PAGE_SIZE, Status, _MMPTE::u, _MMPFN::u2, _MMPFN::u3, UNLOCK_PFN, and WrPageIn. Referenced by MmInPageKernelStack(), and MmInSwapProcess().
|
|
|
|
|
|
Definition at line 4948 of file procsup.c. References _MMSUPPORT::AllowWorkingSetAdjustment, _MMWORKING_SET_EXPANSION_HEAD::ListHead, LOCK_EXPANSION, MmWorkingSetExpansionHead, PsGetCurrentProcess, TRUE, UNLOCK_EXPANSION, _EPROCESS::Vm, and _MMSUPPORT::WorkingSetExpansionLinks. Referenced by MmAdjustWorkingSetSize(), PspSystemThreadStartup(), and PspUserThreadStartup().
|
|
Definition at line 1695 of file procsup.c. References _MMSUPPORT::AddressSpaceBeingDeleted, _EPROCESS::AddressSpaceDeleted, _EPROCESS::AddressSpaceInitialized, ASSERT, _LOCK_TRACKER::CallersCaller, _LOCK_TRACKER::CallingAddress, _EPROCESS::CloneRoot, _EPROCESS::CommitCharge, _MMVAD::ControlArea, _LOCK_HEADER::Count, _MMPTE_FLUSH_LIST::Count, DbgPrint, _MMVAD::EndingVpn, _MMVAD_SHORT::EndingVpn, Event(), ExFreePool(), FALSE, _MMWSL::HashTable, _MMWSL::HashTableSize, _MMWSL::HighestPermittedHashAddress, _EPROCESS::JobStatus, KeBugCheckEx(), KeEnterCriticalRegion, KeInitializeEvent, KeLeaveCriticalRegion, KernelMode, KeWaitForSingleObject(), _LOCK_HEADER::ListHead, LOCK_EXPANSION, LOCK_EXPANSION_IF_ALPHA, LOCK_PFN, LOCK_WS_AND_ADDRESS_SPACE, _EPROCESS::LockedPagesList, _LOCK_TRACKER::Mdl, MI_GET_PAGE_FRAME_FROM_PTE, MI_PFN_ELEMENT, MI_VA_TO_VPN, MI_VPN_TO_VA, MI_VPN_TO_VA_ENDING, MiCleanPhysicalProcessPages(), MiDeleteAddressesInWorkingSet(), MiDeleteAlternateTable(), MiDeletePageTablesForPhysicalRange(), MiDeletePte(), MiDeleteVirtualAddresses(), MiFlushPteList(), MiGetPdeAddress, MiGetPteAddress, MiGetVirtualAddressMappedByPte, MiHydra, MiIsPteOnPdeBoundary, MiIsPteOnPpeBoundary, MiLockSystemSpace, _MMSUPPORT::MinimumWorkingSetSize, MiPhysicalViewRemover(), MiRemoveMappedView(), MiRemoveUserPhysicalPagesVad(), MiRemoveVad(), MiReturnCommitment(), MiSessionRemoveProcess(), MiTrackingAborted, MiUnlockSystemSpace, MM_BUMP_COUNTER, MM_DBG_COMMIT_RETURN_PROCESS_CLEAN_PAGETABLES, MM_DBG_PRIVATE_PAGES, MM_MAXIMUM_WORKING_SET, MM_NO_WS_EXPANSION, MM_PROCESS_CREATE_CHARGE, MM_TRACK_COMMIT, MM_WS_EXPANSION_IN_PROGRESS, MmPagesAboveWsMinimum, MmResidentAvailablePages, MmTrackLockedPages, MmVirtualBias, MmWorkingSetList, MmWsle, NULL, _MMWSL::NumberOfCommittedPageTables, _EPROCESS::NumberOfLockedPages, _EPROCESS::NumberOfPrivatePages, _EPROCESS::PhysicalVadList, PS_JOB_STATUS_REPORT_COMMIT_CHANGES, PsChangeJobMemoryUsage(), PsGetCurrentProcess, _MMVAD_SHORT::StartingVpn, _MMVAD::StartingVpn, TRUE, _MMVAD::u, _MMPTE::u, _MMSUPPORT::u, _MMPFN::u2, _MMPFN::u3, UNLOCK_EXPANSION, UNLOCK_EXPANSION_AND_THEN_WAIT, UNLOCK_EXPANSION_IF_ALPHA, UNLOCK_PFN, UNLOCK_WS_AND_ADDRESS_SPACE, _EPROCESS::VadRoot, _EPROCESS::Vm, _EPROCESS::VmOperation, _EPROCESS::VmOperationEvent, _MMSUPPORT::WorkingSetExpansionLinks, _MMSUPPORT::WorkingSetSize, _EPROCESS::Wow64Process, WrVirtualMemory, and ZeroPte. Referenced by PspExitProcess(), and PspExitThread().
|
|
Definition at line 2450 of file procsup.c. References ASSERT, BYTES_TO_PAGES, DbgPrint, FALSE, LOCK_PFN, MI_GET_PAGE_COLOR_FROM_PTE, MI_MAKE_VALID_PTE, MI_SET_PTE_DIRTY, MI_WRITE_VALID_PTE, MiChargeCommitment(), MiEnsureAvailablePageOrWait(), MiGetSystemPteListCount(), MiGetVirtualAddressMappedByPte, MiInitializePfn(), MiRemoveAnyPage(), MiReserveSystemPtes(), MiReturnCommitment(), MM_BUMP_COUNTER, MM_DBG_COMMIT_KERNEL_STACK_CREATE, MM_DBG_COMMIT_RETURN_KERNEL_STACK_FAILURE1, MM_DBG_COMMIT_RETURN_KERNEL_STACK_FAILURE2, MM_KERNEL_DEMAND_ZERO_PTE, MM_KSTACK_OUTSWAPPED, MM_READWRITE, MM_STACK_ALIGNMENT, MM_STACK_OFFSET, MM_TRACK_COMMIT, MmFirstDeadKernelStack, MmKernelStackPages, MmKernelStackResident, MmLargeStacks, MmNumberDeadKernelStacks, MmProcessCommit, MmResidentAvailablePages, MmSmallStacks, NULL, PAGE_SIZE, _MMPFN::PteAddress, SystemPteSpace, _MMPTE::u, _MMPFN::u1, and UNLOCK_PFN. Referenced by KeStartAllProcessors(), KiInitializeKernel(), PsConvertToGuiThread(), and PspCreateThread().
|
|
Definition at line 4631 of file procsup.c. References CmNtCSDVersion, EXCEPTION_EXECUTE_HANDLER, ExRaiseStatus(), FALSE, InitAnsiCodePageDataOffset, InitNlsSectionPointer, InitOemCodePageDataOffset, InitUnicodeCaseTableDataOffset, KeActiveProcessors, KeAttachProcess(), KeDetachProcess(), KeNumberProcessors, L, MI_INIT_PEB_FROM_IMAGE, MiCreatePebOrTeb(), MmCriticalSectionTimeout, MmHeapDeCommitFreeBlockThreshold, MmHeapDeCommitTotalFreeThreshold, MmHeapSegmentCommit, MmHeapSegmentReserve, MmMapViewOfSection(), MmRotatingUniprocessorNumber, NT_SUCCESS, NtBuildNumber, NtGlobalFlag, NtMajorVersion, NtMinorVersion, NTSTATUS(), NULL, PAGE_SIZE, ProbeForRead, RtlImageDirectoryEntryToData(), RtlImageNtHeader(), Status, TRUE, and USHORT. Referenced by PspCreateProcess().
|
|
Definition at line 190 of file procsup.c. References ASSERT, CODE_END, CODE_START, CONSISTENCY_LOCK_PFN, CONSISTENCY_UNLOCK_PFN, FALSE, HYPER_SPACE, INITIALIZE_DIRECTORY_TABLE_BASE, KeInitializeSpinLock(), KSEG0_BASE, KSEG2_BASE, KSTACK_POOL_START, LOCK_PFN, LOCK_WS, MI_GET_PAGE_FRAME_FROM_PTE, MI_INITIALIZE_HYPERSPACE_MAP, MI_PAGE_COLOR_PTE_PROCESS, MI_PAGE_COLOR_VA_PROCESS, MI_PFN_ELEMENT, MI_SET_GLOBAL_STATE, MI_WRITE_INVALID_PTE, MI_WRITE_VALID_PTE, MiChargeCommitment(), MiEnsureAvailablePageOrWait(), MiGetPdeAddress, MiGetPdeOffset, MiGetPpeAddress, MiGetPpeOffset, MiGetPteAddress, MiHydra, MiMapPageInHyperSpace(), MiNumberOfExtraSystemPdes, MiRemoveAnyPage(), MiRemoveZeroPageIfAny, MiReturnCommitment(), MiSessionAddProcess(), MiSystemCacheEndExtra, MiSystemCacheStartExtra, MiUnmapPageInHyperSpace, MiZeroPhysicalPage(), MM_BUMP_COUNTER, MM_DBG_COMMIT_PROCESS_CREATE, MM_DBG_COMMIT_RETURN_PROCESS_CREATE_FAILURE1, MM_KSEG0_BASE, MM_PROCESS_COMMIT_CHARGE, MM_SESSION_SPACE_DEFAULT, MM_SYSTEM_CACHE_WORKING_SET, MM_SYSTEM_SPACE_END, MM_SYSTEM_SPACE_START, MM_TRACK_COMMIT, MM_VA_MAPPED_BY_PDE, MmNonPagedSystemStart, MmProcessColorSeed, MmProcessCommit, MMPTE, MmResidentAvailablePages, MmSessionSpace, MmSystemCacheEnd, MmVirtualBias, MmWorkingSetList, _EPROCESS::NextPageColor, NON_PAGED_SYSTEM_END, NULL, PAGE_SHIFT, PsGetCurrentProcess, PTE_PER_PAGE, _MMPFN::PteAddress, RtlRandom(), TRUE, _MMSUPPORT::u, _MMPTE::u, _MMPFN::u3, UNLOCK_PFN, UNLOCK_WS, USHORT, ValidPdePde, and _EPROCESS::Vm. Referenced by PspCreateProcess().
|
|
Definition at line 4314 of file procsup.c. References BBTBuffer, InitialTeb, KeAttachProcess(), KeDetachProcess(), MiCreatePebOrTeb(), NULL, and USHORT. Referenced by PspCreateThread().
|
|
Definition at line 2723 of file procsup.c. References BYTES_TO_PAGES, DbgPrint, LOCK_PFN, MI_GET_PAGE_FRAME_FROM_PTE, MI_PFN_ELEMENT, MI_SET_PFN_DELETED, MiDecrementShareAndValidCount, MiDecrementShareCountOnly, MiGetPteAddress, MiReleaseSystemPtes(), MiReturnCommitment(), MM_BUMP_COUNTER, MM_DBG_COMMIT_RETURN_KERNEL_STACK_DELETE, MM_STACK_ALIGNMENT, MM_TRACK_COMMIT, MmFirstDeadKernelStack, MmKernelStackPages, MmKernelStackResident, MmLargeStacks, MmMaximumDeadKernelStacks, MmNumberDeadKernelStacks, MmProcessCommit, MmResidentAvailablePages, MmSmallStacks, PERFINFO_DELETE_STACK, _MMPFN::PteAddress, _MMPFN::PteFrame, SystemPteSpace, _MMPTE::u, _MMPFN::u1, and UNLOCK_PFN. Referenced by KeStartAllProcessors(), PsConvertToGuiThread(), PspCreateThread(), PspReaper(), and PspThreadDelete().
|
|
Definition at line 1398 of file procsup.c. References ASSERT, FreePageList, HYPER_SPACE, LOCK_PFN, MI_GET_DIRECTORY_FRAME_FROM_PROCESS, MI_GET_PAGE_FRAME_FROM_PTE, MI_PFN_ELEMENT, MI_SET_PFN_DELETED, MiContractPagingFiles(), MiDecrementShareAndValidCount, MiDecrementShareCountOnly, MiGetPpeOffset, MiInsertPageInList(), MiMapPageInHyperSpace(), MiReturnCommitment(), MiUnmapPageInHyperSpace, MM_BUMP_COUNTER, MM_DBG_COMMIT_RETURN_PROCESS_DELETE, MM_PROCESS_COMMIT_CHARGE, MM_PROCESS_CREATE_CHARGE, MM_TRACK_COMMIT, MmPageLocationList, MmProcessCommit, MmResidentAvailablePages, NULL, _MMPFN::PteFrame, _MMPFN::u3, and UNLOCK_PFN. Referenced by PspProcessDelete().
|
|
Definition at line 4843 of file procsup.c. References ASSERT, _MMVAD::EndingVpn, ExFreePool(), KeAttachProcess(), KeDetachProcess(), _MMSECURE_ENTRY::List, List, LOCK_WS_AND_ADDRESS_SPACE, MI_VA_TO_VPN, MiDeleteFreeVm(), MiLocateAddress(), MiRemoveVad(), NT_SUCCESS, NTSTATUS(), NULL, ROUND_TO_PAGES, _MMVAD::StartingVpn, Status, _MMVAD::u, _MMVAD::u2, _MMVAD::u3, and UNLOCK_WS_AND_ADDRESS_SPACE. Referenced by PspCreateThread(), and PspExitThread().
|
|
Definition at line 2921 of file procsup.c. References ASSERT, LOCK_PFN, MI_GET_PAGE_COLOR_FROM_PTE, MI_MAKE_VALID_PTE, MI_SET_PTE_DIRTY, MiEnsureAvailablePageOrWait(), MiGetPteAddress, MiGetVirtualAddressMappedByPte, MiInitializePfn(), MiRemoveAnyPage(), MM_BUMP_COUNTER, MM_KERNEL_DEMAND_ZERO_PTE, MM_KSTACK_OUTSWAPPED, MM_READWRITE, MmKernelStackResident, MmResidentAvailablePages, NULL, PAGE_SIZE, PERFINFO_GROW_STACK, PsGetCurrentThread, _KTHREAD::StackBase, _KTHREAD::StackLimit, _ETHREAD::Tcb, _MMPTE::u, and UNLOCK_PFN.
|
|
Definition at line 911 of file procsup.c. References _2gb, ASSERT, DbgPrint, ExAllocatePoolWithTag, ExFreePool(), ExInitializeFastMutex, ExVerifySuite(), FALSE, HYPER_SPACE, KeAttachProcess(), KeDetachProcess(), KeInitializeSpinLock(), KeQuerySystemTime(), _LOCK_HEADER::ListHead, LOCK_HEADER, LOCK_PFN, MI_GET_PAGE_FRAME_FROM_PTE, MI_MAKE_VALID_PTE, MI_SET_PTE_DIRTY, MI_WRITE_VALID_PTE, MiAllocateVad(), MiCheckForConflictingVad, MiCloneProcessAddressSpace(), MiGetPdeAddress, MiGetPpeAddress, MiGetPteAddress, MiInitializeAlternateTable(), MiInitializePfn(), MiInitializeWorkingSetList(), MiInsertVad(), MM_DBG_PTE_UPDATE, MM_DEMAND_ZERO_WRITE_PTE, MM_READWRITE, MmMapViewOfSection(), MmTrackLockedPages, MmVirtualBias, MmWorkingSetList, n, NonPagedPool, NTSTATUS(), NULL, PAGE_SHIFT, PSECTION, PWOW64_PROCESS, Status, TRUE, UNLOCK_PFN, VadTreeWalk(), WOW64_PROCESS, and ZERO_LARGE. Referenced by MiInitMachineDependent(), and PspCreateProcess().
|
|
Definition at line 3445 of file procsup.c. References ASSERT, KeBugCheckEx(), KernelDemandZeroPte, LOCK_PFN, MI_GET_PAGE_FRAME_FROM_PTE, MiGetPteAddress, MiGetVirtualAddressMappedByPte, MiMakeOutswappedPageResident(), MM_KERNEL_DEMAND_ZERO_PTE, MM_KSTACK_OUTSWAPPED, MmKernelStackResident, NtGlobalFlag, PAGE_SIZE, _MMPTE::u, and UNLOCK_PFN. Referenced by KiInSwapKernelStacks().
|
|
Definition at line 3910 of file procsup.c. References _MMSUPPORT::AllowWorkingSetAdjustment, ASSERT, FALSE, HYPER_SPACE, INITIALIZE_DIRECTORY_TABLE_BASE, _MMWORKING_SET_EXPANSION_HEAD::ListHead, LOCK_EXPANSION, LOCK_PFN, MI_CONVERT_PHYSICAL_TO_PFN, MI_GET_PAGE_FRAME_FROM_PTE, MI_IS_PHYSICAL_ADDRESS, MI_PFN_ELEMENT, MiGetPdeAddress, MiGetPdeOffset, MiGetPpeAddress, MiGetPpeOffset, MiGetPteAddress, MiGetPteOffset, MiHydra, MiMakeOutswappedPageResident(), MiMapPageInHyperSpace(), MiSessionInSwapProcess(), MiUnmapPageInHyperSpace, MM_WS_SWAPPED_OUT, MmWorkingSetExpansionHead, MmWorkingSetList, _EPROCESS::PaePageDirectoryPage, _EPROCESS::PaeTop, PAGE_SHIFT, _EPROCESS::PageDirectoryPte, _EPROCESS::ProcessOutswapEnabled, _EPROCESS::ProcessOutswapped, _MMPFN::PteAddress, _MMPFN::PteFrame, TRUE, _MMSUPPORT::u, _MMPTE::u, _MMPFN::u1, _MMPFN::u2, UNLOCK_EXPANSION, UNLOCK_PFN, _EPROCESS::Vm, _MMSUPPORT::WorkingSetExpansionLinks, _EPROCESS::WorkingSetPage, and _MMSUPPORT::WorkingSetSize. Referenced by KiInSwapProcesses().
|
|
Definition at line 3180 of file procsup.c. References ASSERT, Count, KeFlushEntireTb(), KeFlushMultipleTb(), KernelDemandZeroPte, LOCK_PFN, MAX_STACK_PAGES, MI_GET_PAGE_FRAME_FROM_PTE, MI_MAKE_VALID_PTE_TRANSITION, MI_PFN_ELEMENT, MI_SET_PFN_DELETED, MiDecrementShareAndValidCount, MiDecrementShareCount(), MiDecrementShareCountOnly, MiGetPteAddress, MM_BUMP_COUNTER, MM_KSTACK_OUTSWAPPED, MM_MAXIMUM_FLUSH_COUNT, MmKernelStackResident, MmResidentAvailablePages, NtGlobalFlag, _MMPFN::OriginalPte, PAGE_SHIFT, PAGE_SIZE, _MMPFN::PteFrame, TRUE, _MMPTE::u, UNLOCK_PFN, and ZeroPte. Referenced by KiOutSwapKernelStacks().
|
|
Definition at line 3590 of file procsup.c. References _MMSUPPORT::AllowWorkingSetAdjustment, ASSERT, _KPROCESS::DirectoryTableBase, FALSE, LOCK_EXPANSION, LOCK_PFN, MI_CONVERT_PHYSICAL_TO_PFN, MI_GET_PAGE_FRAME_FROM_PTE, MI_IS_PHYSICAL_ADDRESS, MI_MAKE_VALID_PTE_TRANSITION, MI_PFN_ELEMENT, MiDecrementShareCount(), MiGetPdeOffset, MiGetPpeOffset, MiGetPteAddress, MiGetPteOffset, MiHydra, MiMapPageInHyperSpace(), MiSessionOutSwapProcess(), MiUnmapPageInHyperSpace, MM_DBG_SWAP_PROCESS, MM_IO_IN_PROGRESS, MM_PROCESS_COMMIT_CHARGE, MM_READWRITE, MM_WS_SWAPPED_OUT, MmWorkingSetList, _EPROCESS::PaeTop, _EPROCESS::PageDirectoryPte, _EPROCESS::Pcb, PMMPTE, _EPROCESS::ProcessOutswapEnabled, _EPROCESS::ProcessOutswapped, _MMPFN::PteAddress, _MMPFN::PteFrame, TRUE, _MMPTE::u, _MMSUPPORT::u, _MMPFN::u2, _MMPFN::u3, UNLOCK_EXPANSION, UNLOCK_PFN, _EPROCESS::Vm, _MMSUPPORT::WorkingSetExpansionLinks, _EPROCESS::WorkingSetPage, and _MMSUPPORT::WorkingSetSize. Referenced by KiOutSwapProcesses().
|
|
Definition at line 5567 of file procsup.c. References FALSE, KeAttachProcess(), KeDetachProcess(), LOCK_EXPANSION, LOCK_WS, _MMSUPPORT::MaximumWorkingSetSize, MEMORY_PRIORITY_BACKGROUND, _MMSUPPORT::MinimumWorkingSetSize, MiTrimWorkingSet(), MmAvailablePages, MmMoreThanEnoughFreePages, MmNumberOfPhysicalPages, MmSmallSystem, MmSystemSize, MmWorkingSetList, MmWorkingSetReductionMax, PAGE_SIZE, PsGetCurrentProcess, _MMWSL::Quota, TRUE, UNLOCK_EXPANSION, UNLOCK_WS, and _MMSUPPORT::WorkingSetSize. Referenced by NtSetInformationProcess(), and PsSetProcessPriorityByClass().
|
|
|
|
|
|
Definition at line 101 of file procsup.c. Referenced by MmInPageKernelStack(), and MmOutPageKernelStack(). |
|
|
|
|
|
Definition at line 96 of file procsup.c. Referenced by MmCreateKernelStack(), and MmDeleteKernelStack(). |
|
Definition at line 97 of file procsup.c. Referenced by MmCreateKernelStack(), MmDeleteKernelStack(), MmGrowKernelStack(), MmInPageKernelStack(), and MmOutPageKernelStack(). |
|
Definition at line 98 of file procsup.c. Referenced by MmCreateKernelStack(), and MmDeleteKernelStack(). |
|
|
|
|
|
Definition at line 103 of file procsup.c. Referenced by MmCreatePeb(). |
|
Definition at line 99 of file procsup.c. Referenced by MmCreateKernelStack(), and MmDeleteKernelStack(). |
|
Definition at line 90 of file procsup.c. Referenced by MmInitSystem(), MmQuerySystemSize(), and MmSetMemoryPriorityProcess(). |
|
Definition at line 88 of file procsup.c. Referenced by MiAdjustWorkingSetManagerParameters(), MiDetermineWsTrimAmount(), and MmSetMemoryPriorityProcess(). |