ReactOS
0.4.15-dev-1627-gaf0f858
|
#include <internal/arch/mm.h>
Go to the source code of this file.
Classes | |
struct | _MM_SECTION_SEGMENT |
struct | _MM_IMAGE_SECTION_OBJECT |
struct | _ROS_SECTION_OBJECT |
struct | _MEMORY_AREA |
struct | _MM_RMAP_ENTRY |
struct | _MMPFNENTRY |
struct | _MMPFN |
struct | _MMPFNLIST |
struct | _MM_MEMORY_CONSUMER |
struct | _MM_REGION |
struct | _MMFREE_POOL_ENTRY |
struct | _MM_PAGED_POOL_INFO |
struct | _MMPAGING_FILE |
#define InterlockedCompareExchangePte | ( | PointerPte, | |
Exchange, | |||
Comperand | |||
) | InterlockedCompareExchange((PLONG)(PointerPte), Exchange, Comperand) |
#define InterlockedExchangePte | ( | PointerPte, | |
Value | |||
) | InterlockedExchange((PLONG)(PointerPte), Value) |
#define MA_GetEndingAddress | ( | _MemoryArea | ) | (((_MemoryArea)->VadNode.EndingVpn + 1) << PAGE_SHIFT) |
#define MA_GetStartingAddress | ( | _MemoryArea | ) | ((_MemoryArea)->VadNode.StartingVpn << PAGE_SHIFT) |
#define MI_ASSERT_PFN_LOCK_HELD | ( | ) | ASSERT(KeGetCurrentIrql() == DISPATCH_LEVEL) |
#define MmDeleteHyperspaceMapping | ( | x | ) | MiUnmapPageInHyperSpace(HyperProcess, x, HyperIrql); |
#define PAGE_FLAGS_VALID_FOR_SECTION |
#define PAGE_IS_EXECUTABLE |
#define PAGE_IS_READABLE |
#define PAGE_IS_WRITABLE |
#define PAGE_IS_WRITECOPY |
typedef struct _MEMORY_AREA MEMORY_AREA |
typedef enum _MI_PFN_USAGES MI_PFN_USAGES |
typedef struct _MM_REGION MM_REGION |
typedef struct _MM_RMAP_ENTRY MM_RMAP_ENTRY |
typedef struct _MMPAGING_FILE MMPAGING_FILE |
typedef struct _MMPFNENTRY MMPFNENTRY |
typedef struct _MMPFNLIST MMPFNLIST |
typedef struct _MEMORY_AREA * PMEMORY_AREA |
typedef VOID(* PMM_ALTER_REGION_FUNC) (PMMSUPPORT AddressSpace, PVOID BaseAddress, SIZE_T Length, ULONG OldType, ULONG OldProtect, ULONG NewType, ULONG NewProtect) |
typedef VOID(* PMM_FREE_PAGE_FUNC) (PVOID Context, PMEMORY_AREA MemoryArea, PVOID Address, PFN_NUMBER Page, SWAPENTRY SwapEntry, BOOLEAN Dirty) |
typedef struct _MM_MEMORY_CONSUMER * PMM_MEMORY_CONSUMER |
typedef struct _MM_PAGED_POOL_INFO * PMM_PAGED_POOL_INFO |
typedef struct _MM_REGION * PMM_REGION |
typedef struct _MM_RMAP_ENTRY * PMM_RMAP_ENTRY |
typedef struct _MM_SECTION_SEGMENT * PMM_SECTION_SEGMENT |
typedef struct _MMFREE_POOL_ENTRY * PMMFREE_POOL_ENTRY |
typedef struct _MMPAGING_FILE * PMMPAGING_FILE |
typedef struct _MMPFNLIST * PMMPFNLIST |
typedef struct _ROS_SECTION_OBJECT * PROS_SECTION_OBJECT |
Definition at line 263 of file mm.h.
_IRQL_requires_max_ | ( | APC_LEVEL | ) |
Definition at line 197 of file cddata.c.
Definition at line 288 of file expool.c.
Definition at line 1798 of file expool.c.
Referenced by IoFreeIrp().
FORCEINLINE KIRQL MiAcquirePfnLock | ( | VOID | ) |
Definition at line 900 of file mm.h.
Referenced by _MiFlushMappedSection(), MiAllocatePagesForMdl(), MiAllocatePoolPages(), MiBalancerThread(), MiBuildPagedPool(), MiBuildPfnDatabase(), MiBuildPfnDatabaseFromLoaderBlock(), MiCheckPurgeAndUpMapCount(), MiDeleteARM3Section(), MiDeleteSystemPageableVm(), MiDeleteVirtualAddresses(), MiDereferenceControlArea(), MiDispatchFault(), MiFillSystemPageDirectory(), MiFindContiguousPages(), MiFlushTbAndCapture(), MiFreeContiguousMemory(), MiGetPageProtection(), MiInitializeAndChargePfn(), MiInitMachineDependent(), MiLoadImageSection(), MiMakeSystemAddressValidPfn(), MiMapLockedPagesInUserSpace(), MiProcessValidPteList(), MiProtectVirtualMemory(), MiReleaseProcessReferenceToSessionDataPage(), MiRemoveMappedPtes(), MiRemoveMappedView(), MiResolveDemandZeroFault(), MiResolvePageFileFault(), MiResolveProtoPteFault(), MiSegmentDelete(), MiSessionCommitPageTables(), MiSessionCreateInternal(), MiSessionInitializeWorkingSetList(), MiSetControlAreaSymbolsLoaded(), MiUnmapLockedPagesInUserSpace(), MmAllocateSpecialPool(), MmAllocPage(), MmArmAccessFault(), MmCreateArm3Section(), MmCreateKernelStack(), MmCreateProcessAddressSpace(), MmDeleteKernelStack(), MmDeleteProcessAddressSpace(), MmDeleteProcessAddressSpace2(), MmDereferencePage(), MmFreeLoaderBlock(), MmFreeMemoryArea(), MmFreePagesFromMdl(), MmFreeSpecialPool(), MmGetLRUFirstUserPage(), MmGetLRUNextUserPage(), MmGetPhysicalMemoryRanges(), MmGetReferenceCountPage(), MmGetRmapListHeadPage(), MmGetSavedSwapEntryPage(), MmGrowKernelStackEx(), MmInitializeProcessAddressSpace(), MmInsertLRULastUserPage(), MmNotPresentFaultCachePage(), MmPageOutSectionView(), MmProbeAndLockPages(), MmRemoveLRUUserPage(), MmSetRmapListHeadPage(), MmSetSavedSwapEntryPage(), MmUnlockPages(), and MmZeroPageThread().
FORCEINLINE VOID MiAcquirePfnLockAtDpcLevel | ( | VOID | ) |
Definition at line 915 of file mm.h.
Referenced by MiAllocatePoolPages().
Definition at line 420 of file pool.c.
Referenced by _IRQL_requires_(), ExAllocatePoolWithTag(), and InitializePool().
NTSTATUS NTAPI MiCopyFromUserPage | ( | PFN_NUMBER | DestPage, |
const VOID * | SrcAddress | ||
) |
Definition at line 1044 of file section.c.
Referenced by MmAccessFaultSectionView().
Definition at line 905 of file pool.c.
Referenced by _IRQL_requires_(), and ExFreePoolWithTag().
FORCEINLINE PMMPFN MiGetPfnEntry | ( | IN PFN_NUMBER | Pfn | ) |
Definition at line 939 of file mm.h.
Referenced by MiAddHalIoMappings(), MiAllocatePagesForMdl(), MiAllocatePoolPages(), MiBuildPfnDatabaseFromLoaderBlock(), MiBuildPfnDatabaseFromPages(), MiBuildPfnDatabaseFromPageTables(), MiBuildPfnDatabaseSelf(), MiBuildPfnDatabaseZeroPage(), MiCompleteProtoPteFault(), MiCopyPfn(), MiDbgTranslatePhysicalAddress(), MiDecommitPages(), MiDeletePte(), MiDeleteSystemPageableVm(), MiFindContiguousMemory(), MiFreeContiguousMemory(), MiFreePoolPages(), MiGetPageProtection(), MiInitializeWorkingSetList(), MiInitMachineDependent(), MiLockVirtualMemory(), MiMapLockedPagesInUserSpace(), MiMapPageInHyperSpace(), MiProcessValidPteList(), MiProtectVirtualMemory(), MiReloadBootLoadedDrivers(), MiRemoveMappedPtes(), MiResolveProtoPteFault(), MiResolveTransitionFault(), MiSetPagingOfDriver(), MiSetProtectionOnSection(), MiSetupPfnForPageTable(), MiUnlockVirtualMemory(), MiUnmapLockedPagesInUserSpace(), MiZeroPfn(), MmAllocPage(), MmBuildMdlForNonPagedPool(), MmDeleteKernelStack(), MmDeleteProcessAddressSpace2(), MmDereferencePage(), MmDumpArmPfnDatabase(), MmFreeLoaderBlock(), MmFreePagesFromMdl(), MmGetLRUFirstUserPage(), MmGetLRUNextUserPage(), MmGetReferenceCountPage(), MmGetRmapListHeadPage(), MmGetSavedSwapEntryPage(), MmInsertLRULastUserPage(), MmIsPageInUse(), MmMapIoSpace(), MmNotPresentFaultCachePage(), MmProbeAndLockPages(), MmReferencePage(), MmRemoveLRUUserPage(), MmRosNotifyAvailablePage(), MmSetRmapListHeadPage(), MmSetSavedSwapEntryPage(), MmUnlockPages(), MmUnmapIoSpace(), MmZeroPageThread(), and PspCreateProcess().
FORCEINLINE PFN_NUMBER MiGetPfnEntryIndex | ( | IN PMMPFN | Pfn1 | ) |
Definition at line 959 of file mm.h.
Referenced by MiAllocatePagesForMdl(), MiDecrementShareCount(), MiDereferencePfnAndDropLockCount(), MiFreePoolPages(), MiInitializeWorkingSetList(), MiInsertPageInFreeList(), MiMapPagesInZeroSpace(), and MiUnlinkFreeOrZeroedPage().
Definition at line 442 of file balance.c.
Referenced by MmInitSystem().
BOOLEAN NTAPI MiInitializeLoadedModuleList | ( | IN PLOADER_PARAMETER_BLOCK | LoaderBlock | ) |
Definition at line 2205 of file sysldr.c.
Referenced by MmArmInitSystem().
Definition at line 276 of file pool.c.
Referenced by MiBuildNonPagedPool(), and MiInitMachineDependent().
Definition at line 123 of file special.c.
Referenced by MiBuildPagedPool().
Definition at line 30 of file hypermap.c.
Referenced by _MiWriteBackPage(), MiCopyFromUserPage(), MiCopyPageToPage(), MiReadFilePage(), MiReadPage(), MiZeroPhysicalPage(), and MmCreateHyperspaceMapping().
Definition at line 113 of file hypermap.c.
Referenced by MmZeroPageThread().
BOOLEAN NTAPI MiRaisePoolQuota | ( | IN POOL_TYPE | PoolType, |
IN ULONG | CurrentMaxQuota, | ||
OUT PULONG | NewMaxQuota | ||
) |
NTSTATUS NTAPI MiReadPageFile | ( | _In_ PFN_NUMBER | Page, |
_In_ ULONG | PageFileIndex, | ||
_In_ ULONG_PTR | PageFileOffset | ||
) |
Definition at line 197 of file pagefile.c.
Referenced by MiResolvePageFileFault(), and MmReadFromSwapPage().
FORCEINLINE VOID MiReleasePfnLock | ( | _In_ KIRQL | OldIrql | ) |
Definition at line 907 of file mm.h.
Referenced by _MiFlushMappedSection(), MiAllocatePagesForMdl(), MiAllocatePoolPages(), MiBalancerThread(), MiBuildPagedPool(), MiBuildPfnDatabase(), MiBuildPfnDatabaseFromLoaderBlock(), MiCheckControlArea(), MiCheckPurgeAndUpMapCount(), MiCompleteProtoPteFault(), MiDeleteSystemPageableVm(), MiDeleteVirtualAddresses(), MiDispatchFault(), MiFillSystemPageDirectory(), MiFindContiguousPages(), MiFlushTbAndCapture(), MiFreeContiguousMemory(), MiGetPageProtection(), MiInitializeAndChargePfn(), MiInitMachineDependent(), MiLoadImageSection(), MiMakeSystemAddressValidPfn(), MiMapLockedPagesInUserSpace(), MiProcessValidPteList(), MiProtectVirtualMemory(), MiReleaseProcessReferenceToSessionDataPage(), MiRemoveMappedPtes(), MiResolveDemandZeroFault(), MiResolvePageFileFault(), MiResolveProtoPteFault(), MiSegmentDelete(), MiSessionCommitPageTables(), MiSessionCreateInternal(), MiSessionInitializeWorkingSetList(), MiSetControlAreaSymbolsLoaded(), MiUnmapLockedPagesInUserSpace(), MmAllocateSpecialPool(), MmAllocPage(), MmArmAccessFault(), MmCreateArm3Section(), MmCreateKernelStack(), MmCreateProcessAddressSpace(), MmDeleteKernelStack(), MmDeleteProcessAddressSpace(), MmDeleteProcessAddressSpace2(), MmDereferencePage(), MmFreeLoaderBlock(), MmFreeMemoryArea(), MmFreePagesFromMdl(), MmFreeSpecialPool(), MmGetLRUFirstUserPage(), MmGetLRUNextUserPage(), MmGetPhysicalMemoryRanges(), MmGetReferenceCountPage(), MmGetRmapListHeadPage(), MmGetSavedSwapEntryPage(), MmGrowKernelStackEx(), MmInitializeProcessAddressSpace(), MmInsertLRULastUserPage(), MmNotPresentFaultCachePage(), MmPageOutSectionView(), MmProbeAndLockPages(), MmRemoveLRUUserPage(), MmSetRmapListHeadPage(), MmSetSavedSwapEntryPage(), MmUnlockPages(), and MmZeroPageThread().
FORCEINLINE VOID MiReleasePfnLockFromDpcLevel | ( | VOID | ) |
Definition at line 926 of file mm.h.
Referenced by MiAllocatePoolPages().
VOID NTAPI MiReloadBootLoadedDrivers | ( | IN PLOADER_PARAMETER_BLOCK | LoaderBlock | ) |
Definition at line 1694 of file sysldr.c.
Referenced by MmArmInitSystem().
VOID NTAPI MiRosCheckMemoryAreas | ( | PMMSUPPORT | AddressSpace | ) |
Definition at line 522 of file marea.c.
Referenced by MmCleanProcessAddressSpace().
Definition at line 93 of file hypermap.c.
Referenced by _MiWriteBackPage(), MiCopyFromUserPage(), MiCopyPageToPage(), MiReadFilePage(), MiReadPage(), and MiZeroPhysicalPage().
Definition at line 185 of file hypermap.c.
Referenced by MmZeroPageThread().