ReactOS 0.4.16-dev-1225-g1286711
|
#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 907 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().