|
ReactOS 0.4.16-dev-1946-g52006dd
|
#include <internal/arch/mm.h>

Go to the source code of this file.
Classes | |
| struct | _CACHE_SECTION_PAGE_TABLE |
| struct | _MM_REQUIRED_RESOURCES |
Macros | |
| #define | MM_SEGMENT_FINALIZE (0x40000000) |
| #define | MIN(x, y) (((x)<(y))?(x):(y)) |
| #define | MAX(x, y) (((x)>(y))?(x):(y)) |
| #define | BALANCER_CAN_EVICT(Consumer) |
| #define | SEC_CACHE (0x20000000) |
| #define | ENTRIES_PER_ELEMENT 256 |
| #define | MiSimpleWrite(F, O, B, L, R) _MiSimpleWrite(F,O,B,L,R,__FILE__,__LINE__) |
| #define | MiWriteBackPage(F, O, L, P) _MiWriteBackPage(F,O,L,P,__FILE__,__LINE__) |
| #define | MiFlushMappedSection(A, O, S, D) _MiFlushMappedSection(A,O,S,D,__FILE__,__LINE__) |
| #define | MiMapViewOfSegment(AddressSpace, Segment, BaseAddress, ViewSize, Protect, ViewOffset, AllocationType) _MiMapViewOfSegment(AddressSpace,Segment,BaseAddress,ViewSize,Protect,ViewOffset,AllocationType,__FILE__,__LINE__) |
| #define | MmTryToLockAddressSpace(x) _MmTryToLockAddressSpace(x,__FILE__,__LINE__) |
| #define | MiFlushMappedSection(A, O, S, D) _MiFlushMappedSection(A,O,S,D,__FILE__,__LINE__) |
Typedefs | |
| typedef struct _CACHE_SECTION_PAGE_TABLE | CACHE_SECTION_PAGE_TABLE |
| typedef struct _CACHE_SECTION_PAGE_TABLE * | PCACHE_SECTION_PAGE_TABLE |
| typedef NTSTATUS(NTAPI * | AcquireResource) (PMMSUPPORT AddressSpace, struct _MEMORY_AREA *MemoryArea, struct _MM_REQUIRED_RESOURCES *Required) |
| typedef NTSTATUS(NTAPI * | NotPresentFaultHandler) (PMMSUPPORT AddressSpace, struct _MEMORY_AREA *MemoryArea, PVOID Address, BOOLEAN Locked, struct _MM_REQUIRED_RESOURCES *Required) |
| typedef NTSTATUS(NTAPI * | FaultHandler) (PMMSUPPORT AddressSpace, struct _MEMORY_AREA *MemoryArea, PVOID Address, struct _MM_REQUIRED_RESOURCES *Required) |
| typedef struct _MM_REQUIRED_RESOURCES | MM_REQUIRED_RESOURCES |
| typedef struct _MM_REQUIRED_RESOURCES * | PMM_REQUIRED_RESOURCES |
| typedef VOID(NTAPI * | FREE_SECTION_PAGE_FUN) (PMM_SECTION_SEGMENT Segment, PLARGE_INTEGER Offset) |
| #define BALANCER_CAN_EVICT | ( | Consumer | ) |
| #define MiMapViewOfSegment | ( | AddressSpace, | |
| Segment, | |||
| BaseAddress, | |||
| ViewSize, | |||
| Protect, | |||
| ViewOffset, | |||
| AllocationType | |||
| ) | _MiMapViewOfSegment(AddressSpace,Segment,BaseAddress,ViewSize,Protect,ViewOffset,AllocationType,__FILE__,__LINE__) |
| #define MmTryToLockAddressSpace | ( | x | ) | _MmTryToLockAddressSpace(x,__FILE__,__LINE__) |
| typedef NTSTATUS(NTAPI * AcquireResource) (PMMSUPPORT AddressSpace, struct _MEMORY_AREA *MemoryArea, struct _MM_REQUIRED_RESOURCES *Required) |
| typedef NTSTATUS(NTAPI * FaultHandler) (PMMSUPPORT AddressSpace, struct _MEMORY_AREA *MemoryArea, PVOID Address, struct _MM_REQUIRED_RESOURCES *Required) |
| typedef VOID(NTAPI * FREE_SECTION_PAGE_FUN) (PMM_SECTION_SEGMENT Segment, PLARGE_INTEGER Offset) |
| typedef NTSTATUS(NTAPI * NotPresentFaultHandler) (PMMSUPPORT AddressSpace, struct _MEMORY_AREA *MemoryArea, PVOID Address, BOOLEAN Locked, struct _MM_REQUIRED_RESOURCES *Required) |
| _At_ | ( | Required-> | DoAcquisition, |
| _Post_notnull_ | |||
| ) |
| NTSTATUS NTAPI _MiFlushMappedSection | ( | PVOID | BaseAddress, |
| PLARGE_INTEGER | BaseOffset, | ||
| PLARGE_INTEGER | FileSize, | ||
| BOOLEAN | Dirty, | ||
| const char * | File, | ||
| int | Line | ||
| ) |
| NTSTATUS NTAPI _MiMapViewOfSegment | ( | PMMSUPPORT | AddressSpace, |
| PMM_SECTION_SEGMENT | Segment, | ||
| PVOID * | BaseAddress, | ||
| SIZE_T | ViewSize, | ||
| ULONG | Protect, | ||
| PLARGE_INTEGER | ViewOffset, | ||
| ULONG | AllocationType, | ||
| const char * | file, | ||
| int | line | ||
| ) |
Referenced by MmMapViewOfSegment().
| NTSTATUS NTAPI _MiSimpleWrite | ( | PFILE_OBJECT | FileObject, |
| PLARGE_INTEGER | FileOffset, | ||
| PVOID | Buffer, | ||
| ULONG | Length, | ||
| PIO_STATUS_BLOCK | ReadStatus, | ||
| const char * | file, | ||
| int | line | ||
| ) |
| NTSTATUS NTAPI _MiWriteBackPage | ( | PFILE_OBJECT | FileObject, |
| PLARGE_INTEGER | Offset, | ||
| ULONG | Length, | ||
| PFN_NUMBER | Page, | ||
| const char * | File, | ||
| int | Line | ||
| ) |
| FORCEINLINE BOOLEAN _MmTryToLockAddressSpace | ( | IN PMMSUPPORT | AddressSpace, |
| const char * | file, | ||
| int | line | ||
| ) |
Definition at line 295 of file newmm.h.
| _Success_ | ( | 1 | ) | ==STATUS_MORE_PROCESSING_REQUIRED |
| ULONG NTAPI MiCacheEvictPages | ( | PMM_SECTION_SEGMENT | Segment, |
| ULONG | Target | ||
| ) |
Definition at line 590 of file swapout.c.
Referenced by MiRosTrimCache().
| VOID NTAPI MiFreeSegmentPage | ( | PMM_SECTION_SEGMENT | Segment, |
| PLARGE_INTEGER | FileOffset | ||
| ) |
Definition at line 617 of file data.c.
| NTSTATUS NTAPI MiGetOnePage | ( | PMMSUPPORT | AddressSpace, |
| PMEMORY_AREA | MemoryArea, | ||
| PMM_REQUIRED_RESOURCES | RequiredResources | ||
| ) |
Definition at line 83 of file reqtools.c.
| VOID NTAPI MiInitializeSectionPageTable | ( | PMM_SECTION_SEGMENT | Segment | ) |
Definition at line 165 of file sptab.c.
Referenced by ExeFmtpCreateImageSection(), MmCreateDataFileSection(), and MmCreatePhysicalMemorySection().
| NTSTATUS NTAPI MiReadFilePage | ( | PMMSUPPORT | AddressSpace, |
| PMEMORY_AREA | MemoryArea, | ||
| PMM_REQUIRED_RESOURCES | RequiredResources | ||
| ) |
Definition at line 133 of file reqtools.c.
Definition at line 633 of file swapout.c.
Referenced by CcShutdownSystem().
| NTSTATUS NTAPI MiSimpleRead | ( | PFILE_OBJECT | FileObject, |
| PLARGE_INTEGER | FileOffset, | ||
| PVOID | Buffer, | ||
| ULONG | Length, | ||
| BOOLEAN | Paging, | ||
| PIO_STATUS_BLOCK | ReadStatus | ||
| ) |
Definition at line 109 of file io.c.
Referenced by CcZeroData(), and ExeFmtpReadFile().
| NTSTATUS NTAPI MiSwapInPage | ( | PMMSUPPORT | AddressSpace, |
| PMEMORY_AREA | MemoryArea, | ||
| PMM_REQUIRED_RESOURCES | RequiredResources | ||
| ) |
Definition at line 220 of file reqtools.c.
| NTSTATUS NTAPI MiSwapInSectionPage | ( | PMMSUPPORT | AddressSpace, |
| PMEMORY_AREA | MemoryArea, | ||
| PMM_REQUIRED_RESOURCES | RequiredResources | ||
| ) |
| NTSTATUS NTAPI MiWidenSegment | ( | PMMSUPPORT | AddressSpace, |
| PMEMORY_AREA | MemoryArea, | ||
| PMM_REQUIRED_RESOURCES | RequiredResources | ||
| ) |
| NTSTATUS NTAPI MiWriteFilePage | ( | PMMSUPPORT | AddressSpace, |
| PMEMORY_AREA | MemoryArea, | ||
| PMM_REQUIRED_RESOURCES | Resources | ||
| ) |
| NTSTATUS NTAPI MiWriteSwapPage | ( | PMMSUPPORT | AddressSpace, |
| PMEMORY_AREA | MemoryArea, | ||
| PMM_REQUIRED_RESOURCES | Resources | ||
| ) |
| NTSTATUS NTAPI MmAccessFaultCacheSection | ( | KPROCESSOR_MODE | Mode, |
| ULONG_PTR | Address, | ||
| BOOLEAN | FromMdl | ||
| ) |
Referenced by MmpAccessFault().
| NTSTATUS NTAPI MmCreateCacheSection | ( | PSECTION * | SectionObject, |
| ACCESS_MASK | DesiredAccess, | ||
| POBJECT_ATTRIBUTES | ObjectAttributes, | ||
| PLARGE_INTEGER | UMaximumSize, | ||
| ULONG | SectionPageProtection, | ||
| ULONG | AllocationAttributes, | ||
| PFILE_OBJECT | FileObject | ||
| ) |
Referenced by MmCreateSection().
| VOID NTAPI MmDeleteSectionAssociation | ( | PFN_NUMBER | Page | ) |
Definition at line 506 of file rmap.c.
Referenced by _MmSetPageEntrySectionSegment().
| NTSTATUS NTAPI MmExtendCacheSection | ( | PSECTION | Section, |
| PLARGE_INTEGER | NewSize, | ||
| BOOLEAN | ExtendFile | ||
| ) |
Referenced by CcSetFileSizes().
| NTSTATUS NTAPI MmFinalizeSectionPageOut | ( | PMM_SECTION_SEGMENT | Segment, |
| PLARGE_INTEGER | FileOffset, | ||
| PFN_NUMBER | Page, | ||
| BOOLEAN | Dirty | ||
| ) |
Definition at line 165 of file swapout.c.
Referenced by MmpPageOutPhysicalAddress().
| VOID NTAPI MmFinalizeSegment | ( | PMM_SECTION_SEGMENT | Segment | ) |
Referenced by MmFinalizeSectionPageOut(), and MmpPageOutPhysicalAddress().
| VOID MmFreeCacheSectionPage | ( | PVOID | Context, |
| MEMORY_AREA * | MemoryArea, | ||
| PVOID | Address, | ||
| PFN_NUMBER | Page, | ||
| SWAPENTRY | SwapEntry, | ||
| BOOLEAN | Dirty | ||
| ) |
Definition at line 663 of file data.c.
| VOID NTAPI MmFreePageTablesSectionSegment | ( | PMM_SECTION_SEGMENT | Segment, |
| FREE_SECTION_PAGE_FUN | FreePage | ||
| ) |
Definition at line 321 of file sptab.c.
Referenced by _When_().
| VOID NTAPI MmFreeSectionSegments | ( | PFILE_OBJECT | FileObject | ) |
| PVOID NTAPI MmGetSegmentRmap | ( | PFN_NUMBER | Page, |
| PULONG | RawOffset | ||
| ) |
Definition at line 468 of file rmap.c.
Referenced by MmGetSectionAssociation().
| NTSTATUS NTAPI MmMapCacheViewInSystemSpaceAtOffset | ( | IN PMM_SECTION_SEGMENT | Segment, |
| OUT PVOID * | MappedBase, | ||
| IN PLARGE_INTEGER | ViewOffset, | ||
| IN OUT PULONG | ViewSize | ||
| ) |
Referenced by CcpMapData().
| NTSTATUS NTAPI MmNotPresentFaultCacheSection | ( | KPROCESSOR_MODE | Mode, |
| ULONG_PTR | Address, | ||
| BOOLEAN | FromMdl | ||
| ) |
Referenced by MmNotPresentFault().
| NTSTATUS NTAPI MmPageOutPageFileView | ( | PMMSUPPORT | AddressSpace, |
| PMEMORY_AREA | MemoryArea, | ||
| PVOID | Address, | ||
| PMM_REQUIRED_RESOURCES | Required | ||
| ) |
| NTSTATUS NTAPI MmpPageOutPhysicalAddress | ( | PFN_NUMBER | Page | ) |
Definition at line 345 of file swapout.c.
Referenced by MiCacheEvictPages(), and MmPageOutPhysicalAddress().
| NTSTATUS NTAPI MmSetSectionAssociation | ( | PFN_NUMBER | Page, |
| PMM_SECTION_SEGMENT | Segment, | ||
| PLARGE_INTEGER | Offset | ||
| ) |
Definition at line 400 of file sptab.c.
Referenced by _MmSetPageEntrySectionSegment().
| NTSTATUS MmspWaitForFileLock | ( | PFILE_OBJECT | File | ) |
Definition at line 905 of file section.c.
Referenced by MmCreateDataFileSection(), and MmCreateImageSection().
Referenced by CcpDereferenceCache(), and CcpUnmapCache().
| NTSTATUS NTAPI MmUnmapViewOfCacheSegment | ( | PMMSUPPORT | AddressSpace, |
| PVOID | BaseAddress | ||
| ) |
Referenced by MiRosCleanupMemoryArea(), and MmUnmapViewOfSegment().
| PFN_NUMBER NTAPI MmWithdrawSectionPage | ( | PMM_SECTION_SEGMENT | Segment, |
| PLARGE_INTEGER | FileOffset, | ||
| BOOLEAN * | Dirty | ||
| ) |
Definition at line 87 of file swapout.c.
Referenced by MmpPageOutPhysicalAddress().
Definition at line 209 of file newmm.h.
Referenced by BroadcastOpen(), CcPerformReadAhead(), CcRosFlushDirtyPages(), CreateRedirectedFile(), Ext2FastIoWrite(), FsRtlAcknowledgeOplockBreak(), FsRtlRequestExclusiveOplock(), FsRtlRequestOplockII(), FsRtlWaitOnIrp(), CBDASignalStatistics::get_SignalLocked(), LdrAddRefDll(), LdrGetDllHandleEx(), MmAccessFaultSectionView(), MmNotPresentFaultSectionView(), RtlFreeHeap(), RxCommonQueryInformation(), and UDFMountVolume().
| _In_ MEMORY_AREA * MemoryArea |
Definition at line 207 of file newmm.h.
Referenced by MiGetFileObjectForVad(), MiRosCleanupMemoryArea(), MiRosUnmapViewOfSection(), MmAccessFaultSectionView(), MmAlterViewAttributes(), MmCreateMemoryArea(), MmFreeCacheSectionPage(), MmFreeMemoryArea(), MmFreeSectionPage(), MmLocateMemoryAreaByRegion(), MmNotPresentFault(), MmNotPresentFaultSectionView(), MmpAccessFault(), MmPageOutCacheSection(), MmPageOutPhysicalAddress(), MmpPageOutPhysicalAddress(), MmProtectSectionView(), MmQuerySectionView(), MmUnmapViewInSystemSpace(), and MmUnmapViewOfSegment().
| _In_ MEMORY_AREA _In_ PVOID _In_ BOOLEAN _Inout_ PMM_REQUIRED_RESOURCES Required |
Definition at line 210 of file newmm.h.
Referenced by MiGetOnePage(), MiWriteFilePage(), MmPageOutCacheSection(), profile_items_callback(), SepPrivilegeCheck(), and START_TEST().