mirror of
https://github.com/reactos/reactos.git
synced 2024-10-01 06:57:08 +00:00
Merge 44257 from amd64 branch:
PFN_TYPE -> PFN_NUMBER svn path=/trunk/; revision=48070
This commit is contained in:
parent
70103e0a78
commit
820d3edcb0
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
/* GLOBALS *******************************************************************/
|
/* GLOBALS *******************************************************************/
|
||||||
|
|
||||||
static PFN_TYPE CcZeroPage = 0;
|
static PFN_NUMBER CcZeroPage = 0;
|
||||||
|
|
||||||
#define MAX_ZERO_LENGTH (256 * 1024)
|
#define MAX_ZERO_LENGTH (256 * 1024)
|
||||||
#define MAX_RW_LENGTH (256 * 1024)
|
#define MAX_RW_LENGTH (256 * 1024)
|
||||||
|
@ -98,7 +98,7 @@ ReadCacheSegmentChain(PBCB Bcb, ULONG ReadOffset, ULONG Length,
|
||||||
PCACHE_SEGMENT current2;
|
PCACHE_SEGMENT current2;
|
||||||
ULONG current_size;
|
ULONG current_size;
|
||||||
ULONG i;
|
ULONG i;
|
||||||
PPFN_TYPE MdlPages;
|
PPFN_NUMBER MdlPages;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Count the maximum number of bytes we could read starting
|
* Count the maximum number of bytes we could read starting
|
||||||
|
@ -119,7 +119,7 @@ ReadCacheSegmentChain(PBCB Bcb, ULONG ReadOffset, ULONG Length,
|
||||||
Mdl->MdlFlags |= (MDL_PAGES_LOCKED | MDL_IO_PAGE_READ);
|
Mdl->MdlFlags |= (MDL_PAGES_LOCKED | MDL_IO_PAGE_READ);
|
||||||
current2 = current;
|
current2 = current;
|
||||||
current_size = 0;
|
current_size = 0;
|
||||||
MdlPages = (PPFN_TYPE)(Mdl + 1);
|
MdlPages = (PPFN_NUMBER)(Mdl + 1);
|
||||||
while (current2 != NULL && !current2->Valid && current_size < MAX_RW_LENGTH)
|
while (current2 != NULL && !current2->Valid && current_size < MAX_RW_LENGTH)
|
||||||
{
|
{
|
||||||
PVOID address = current2->BaseAddress;
|
PVOID address = current2->BaseAddress;
|
||||||
|
@ -619,7 +619,7 @@ CcZeroData (IN PFILE_OBJECT FileObject,
|
||||||
Mdl->MdlFlags |= (MDL_PAGES_LOCKED | MDL_IO_PAGE_READ);
|
Mdl->MdlFlags |= (MDL_PAGES_LOCKED | MDL_IO_PAGE_READ);
|
||||||
for (i = 0; i < ((Mdl->Size - sizeof(MDL)) / sizeof(ULONG)); i++)
|
for (i = 0; i < ((Mdl->Size - sizeof(MDL)) / sizeof(ULONG)); i++)
|
||||||
{
|
{
|
||||||
((PPFN_TYPE)(Mdl + 1))[i] = CcZeroPage;
|
((PPFN_NUMBER)(Mdl + 1))[i] = CcZeroPage;
|
||||||
}
|
}
|
||||||
KeInitializeEvent(&Event, NotificationEvent, FALSE);
|
KeInitializeEvent(&Event, NotificationEvent, FALSE);
|
||||||
Status = IoSynchronousPageWrite(FileObject, Mdl, &WriteOffset, &Event, &Iosb);
|
Status = IoSynchronousPageWrite(FileObject, Mdl, &WriteOffset, &Event, &Iosb);
|
||||||
|
|
|
@ -330,8 +330,8 @@ CcRosTrimCache(ULONG Target, ULONG Priority, PULONG NrFreed)
|
||||||
KeReleaseGuardedMutex(&ViewLock);
|
KeReleaseGuardedMutex(&ViewLock);
|
||||||
for (i = 0; i < current->Bcb->CacheSegmentSize / PAGE_SIZE; i++)
|
for (i = 0; i < current->Bcb->CacheSegmentSize / PAGE_SIZE; i++)
|
||||||
{
|
{
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
Page = (PFN_TYPE)(MmGetPhysicalAddress((char*)current->BaseAddress + i * PAGE_SIZE).QuadPart >> PAGE_SHIFT);
|
Page = (PFN_NUMBER)(MmGetPhysicalAddress((char*)current->BaseAddress + i * PAGE_SIZE).QuadPart >> PAGE_SHIFT);
|
||||||
Status = MmPageOutPhysicalAddress(Page);
|
Status = MmPageOutPhysicalAddress(Page);
|
||||||
}
|
}
|
||||||
KeAcquireGuardedMutex(&ViewLock);
|
KeAcquireGuardedMutex(&ViewLock);
|
||||||
|
@ -842,7 +842,7 @@ CcRosRequestCacheSegment(PBCB Bcb,
|
||||||
#else
|
#else
|
||||||
static VOID
|
static VOID
|
||||||
CcFreeCachePage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
|
CcFreeCachePage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
|
||||||
PFN_TYPE Page, SWAPENTRY SwapEntry, BOOLEAN Dirty)
|
PFN_NUMBER Page, SWAPENTRY SwapEntry, BOOLEAN Dirty)
|
||||||
{
|
{
|
||||||
ASSERT(SwapEntry == 0);
|
ASSERT(SwapEntry == 0);
|
||||||
if (Page != 0)
|
if (Page != 0)
|
||||||
|
@ -861,7 +861,7 @@ CcRosInternalFreeCacheSegment(PCACHE_SEGMENT CacheSeg)
|
||||||
ULONG i;
|
ULONG i;
|
||||||
ULONG RegionSize;
|
ULONG RegionSize;
|
||||||
ULONG Base;
|
ULONG Base;
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
#endif
|
#endif
|
||||||
DPRINT("Freeing cache segment 0x%p\n", CacheSeg);
|
DPRINT("Freeing cache segment 0x%p\n", CacheSeg);
|
||||||
|
|
|
@ -53,7 +53,6 @@ struct _EPROCESS;
|
||||||
struct _MM_RMAP_ENTRY;
|
struct _MM_RMAP_ENTRY;
|
||||||
struct _MM_PAGEOP;
|
struct _MM_PAGEOP;
|
||||||
typedef ULONG SWAPENTRY;
|
typedef ULONG SWAPENTRY;
|
||||||
typedef ULONG PFN_TYPE, *PPFN_TYPE;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// MmDbgCopyMemory Flags
|
// MmDbgCopyMemory Flags
|
||||||
|
@ -466,7 +465,7 @@ typedef VOID
|
||||||
PVOID Context,
|
PVOID Context,
|
||||||
PMEMORY_AREA MemoryArea,
|
PMEMORY_AREA MemoryArea,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
PFN_TYPE Page,
|
PFN_NUMBER Page,
|
||||||
SWAPENTRY SwapEntry,
|
SWAPENTRY SwapEntry,
|
||||||
BOOLEAN Dirty
|
BOOLEAN Dirty
|
||||||
);
|
);
|
||||||
|
@ -688,7 +687,7 @@ VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmBuildMdlFromPages(
|
MmBuildMdlFromPages(
|
||||||
PMDL Mdl,
|
PMDL Mdl,
|
||||||
PULONG Pages
|
PPFN_NUMBER Pages
|
||||||
);
|
);
|
||||||
|
|
||||||
/* mminit.c ******************************************************************/
|
/* mminit.c ******************************************************************/
|
||||||
|
@ -738,7 +737,7 @@ NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmReadFromSwapPage(
|
MmReadFromSwapPage(
|
||||||
SWAPENTRY SwapEntry,
|
SWAPENTRY SwapEntry,
|
||||||
PFN_TYPE Page
|
PFN_NUMBER Page
|
||||||
);
|
);
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
|
@ -749,7 +748,7 @@ NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmWriteToSwapPage(
|
MmWriteToSwapPage(
|
||||||
SWAPENTRY SwapEntry,
|
SWAPENTRY SwapEntry,
|
||||||
PFN_TYPE Page
|
PFN_NUMBER Page
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
@ -917,18 +916,18 @@ ExUnmapPage(PVOID Addr);
|
||||||
|
|
||||||
PVOID
|
PVOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ExAllocatePageWithPhysPage(PFN_TYPE Page);
|
ExAllocatePageWithPhysPage(PFN_NUMBER Page);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MiCopyFromUserPage(
|
MiCopyFromUserPage(
|
||||||
PFN_TYPE Page,
|
PFN_NUMBER Page,
|
||||||
PVOID SourceAddress
|
PVOID SourceAddress
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MiZeroPage(PFN_TYPE Page);
|
MiZeroPage(PFN_NUMBER Page);
|
||||||
|
|
||||||
/* memsafe.s *****************************************************************/
|
/* memsafe.s *****************************************************************/
|
||||||
|
|
||||||
|
@ -999,7 +998,7 @@ NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmReleasePageMemoryConsumer(
|
MmReleasePageMemoryConsumer(
|
||||||
ULONG Consumer,
|
ULONG Consumer,
|
||||||
PFN_TYPE Page
|
PFN_NUMBER Page
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
@ -1007,7 +1006,7 @@ NTAPI
|
||||||
MmRequestPageMemoryConsumer(
|
MmRequestPageMemoryConsumer(
|
||||||
ULONG Consumer,
|
ULONG Consumer,
|
||||||
BOOLEAN MyWait,
|
BOOLEAN MyWait,
|
||||||
PPFN_TYPE AllocatedPage
|
PPFN_NUMBER AllocatedPage
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
@ -1023,18 +1022,18 @@ MmRebalanceMemoryConsumers(VOID);
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmSetRmapListHeadPage(
|
MmSetRmapListHeadPage(
|
||||||
PFN_TYPE Page,
|
PFN_NUMBER Page,
|
||||||
struct _MM_RMAP_ENTRY* ListHead
|
struct _MM_RMAP_ENTRY* ListHead
|
||||||
);
|
);
|
||||||
|
|
||||||
struct _MM_RMAP_ENTRY*
|
struct _MM_RMAP_ENTRY*
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetRmapListHeadPage(PFN_TYPE Page);
|
MmGetRmapListHeadPage(PFN_NUMBER Page);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmInsertRmap(
|
MmInsertRmap(
|
||||||
PFN_TYPE Page,
|
PFN_NUMBER Page,
|
||||||
struct _EPROCESS *Process,
|
struct _EPROCESS *Process,
|
||||||
PVOID Address
|
PVOID Address
|
||||||
);
|
);
|
||||||
|
@ -1042,7 +1041,7 @@ MmInsertRmap(
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDeleteAllRmaps(
|
MmDeleteAllRmaps(
|
||||||
PFN_TYPE Page,
|
PFN_NUMBER Page,
|
||||||
PVOID Context,
|
PVOID Context,
|
||||||
VOID (*DeleteMapping)(PVOID Context, struct _EPROCESS *Process, PVOID Address)
|
VOID (*DeleteMapping)(PVOID Context, struct _EPROCESS *Process, PVOID Address)
|
||||||
);
|
);
|
||||||
|
@ -1050,7 +1049,7 @@ MmDeleteAllRmaps(
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDeleteRmap(
|
MmDeleteRmap(
|
||||||
PFN_TYPE Page,
|
PFN_NUMBER Page,
|
||||||
struct _EPROCESS *Process,
|
struct _EPROCESS *Process,
|
||||||
PVOID Address
|
PVOID Address
|
||||||
);
|
);
|
||||||
|
@ -1061,29 +1060,29 @@ MmInitializeRmapList(VOID);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmSetCleanAllRmaps(PFN_TYPE Page);
|
MmSetCleanAllRmaps(PFN_NUMBER Page);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmSetDirtyAllRmaps(PFN_TYPE Page);
|
MmSetDirtyAllRmaps(PFN_NUMBER Page);
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
MmIsDirtyPageRmap(PFN_TYPE Page);
|
MmIsDirtyPageRmap(PFN_NUMBER Page);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmWritePagePhysicalAddress(PFN_TYPE Page);
|
MmWritePagePhysicalAddress(PFN_NUMBER Page);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmPageOutPhysicalAddress(PFN_TYPE Page);
|
MmPageOutPhysicalAddress(PFN_NUMBER Page);
|
||||||
|
|
||||||
/* freelist.c **********************************************************/
|
/* freelist.c **********************************************************/
|
||||||
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
PMMPFN
|
PMMPFN
|
||||||
MiGetPfnEntry(IN PFN_TYPE Pfn)
|
MiGetPfnEntry(IN PFN_NUMBER Pfn)
|
||||||
{
|
{
|
||||||
PMMPFN Page;
|
PMMPFN Page;
|
||||||
extern RTL_BITMAP MiPfnBitMap;
|
extern RTL_BITMAP MiPfnBitMap;
|
||||||
|
@ -1111,33 +1110,33 @@ MiGetPfnEntryIndex(IN PMMPFN Pfn1)
|
||||||
return Pfn1 - MmPfnDatabase;
|
return Pfn1 - MmPfnDatabase;
|
||||||
}
|
}
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetLRUNextUserPage(PFN_TYPE PreviousPage);
|
MmGetLRUNextUserPage(PFN_NUMBER PreviousPage);
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetLRUFirstUserPage(VOID);
|
MmGetLRUFirstUserPage(VOID);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmInsertLRULastUserPage(PFN_TYPE Page);
|
MmInsertLRULastUserPage(PFN_NUMBER Page);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmRemoveLRUUserPage(PFN_TYPE Page);
|
MmRemoveLRUUserPage(PFN_NUMBER Page);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmLockPage(PFN_TYPE Page);
|
MmLockPage(PFN_NUMBER Page);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmUnlockPage(PFN_TYPE Page);
|
MmUnlockPage(PFN_NUMBER Page);
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetLockCountPage(PFN_TYPE Page);
|
MmGetLockCountPage(PFN_NUMBER Page);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -1151,7 +1150,7 @@ MmDumpPfnDatabase(
|
||||||
VOID
|
VOID
|
||||||
);
|
);
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetContinuousPages(
|
MmGetContinuousPages(
|
||||||
ULONG NumberOfBytes,
|
ULONG NumberOfBytes,
|
||||||
|
@ -1222,7 +1221,7 @@ NTAPI
|
||||||
MmCreateVirtualMappingForKernel(
|
MmCreateVirtualMappingForKernel(
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
ULONG flProtect,
|
ULONG flProtect,
|
||||||
PPFN_TYPE Pages,
|
PPFN_NUMBER Pages,
|
||||||
ULONG PageCount
|
ULONG PageCount
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1239,7 +1238,7 @@ MmCreateVirtualMapping(
|
||||||
struct _EPROCESS* Process,
|
struct _EPROCESS* Process,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
ULONG flProtect,
|
ULONG flProtect,
|
||||||
PPFN_TYPE Pages,
|
PPFN_NUMBER Pages,
|
||||||
ULONG PageCount
|
ULONG PageCount
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1249,7 +1248,7 @@ MmCreateVirtualMappingUnsafe(
|
||||||
struct _EPROCESS* Process,
|
struct _EPROCESS* Process,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
ULONG flProtect,
|
ULONG flProtect,
|
||||||
PPFN_TYPE Pages,
|
PPFN_NUMBER Pages,
|
||||||
ULONG PageCount
|
ULONG PageCount
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1284,7 +1283,7 @@ MmDisableVirtualMapping(
|
||||||
struct _EPROCESS *Process,
|
struct _EPROCESS *Process,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
BOOLEAN* WasDirty,
|
BOOLEAN* WasDirty,
|
||||||
PPFN_TYPE Page
|
PPFN_NUMBER Page
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
@ -1324,7 +1323,7 @@ MmIsPageSwapEntry(
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmTransferOwnershipPage(
|
MmTransferOwnershipPage(
|
||||||
PFN_TYPE Page,
|
PFN_NUMBER Page,
|
||||||
ULONG NewConsumer
|
ULONG NewConsumer
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1335,7 +1334,7 @@ MmSetDirtyPage(
|
||||||
PVOID Address
|
PVOID Address
|
||||||
);
|
);
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmAllocPage(
|
MmAllocPage(
|
||||||
ULONG Consumer
|
ULONG Consumer
|
||||||
|
@ -1348,34 +1347,34 @@ MmAllocPagesSpecifyRange(
|
||||||
PHYSICAL_ADDRESS LowestAddress,
|
PHYSICAL_ADDRESS LowestAddress,
|
||||||
PHYSICAL_ADDRESS HighestAddress,
|
PHYSICAL_ADDRESS HighestAddress,
|
||||||
ULONG NumberOfPages,
|
ULONG NumberOfPages,
|
||||||
PPFN_TYPE Pages
|
PPFN_NUMBER Pages
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDereferencePage(PFN_TYPE Page);
|
MmDereferencePage(PFN_NUMBER Page);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmReferencePage(PFN_TYPE Page);
|
MmReferencePage(PFN_NUMBER Page);
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetReferenceCountPage(PFN_TYPE Page);
|
MmGetReferenceCountPage(PFN_NUMBER Page);
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
MmIsPageInUse(PFN_TYPE Page);
|
MmIsPageInUse(PFN_NUMBER Page);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmSetSavedSwapEntryPage(
|
MmSetSavedSwapEntryPage(
|
||||||
PFN_TYPE Page,
|
PFN_NUMBER Page,
|
||||||
SWAPENTRY SavedSwapEntry);
|
SWAPENTRY SavedSwapEntry);
|
||||||
|
|
||||||
SWAPENTRY
|
SWAPENTRY
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetSavedSwapEntryPage(PFN_TYPE Page);
|
MmGetSavedSwapEntryPage(PFN_NUMBER Page);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -1395,7 +1394,7 @@ MmDeletePageTable(
|
||||||
PVOID Address
|
PVOID Address
|
||||||
);
|
);
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetPfnForProcess(
|
MmGetPfnForProcess(
|
||||||
struct _EPROCESS *Process,
|
struct _EPROCESS *Process,
|
||||||
|
@ -1439,7 +1438,7 @@ MmDeleteVirtualMapping(
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
BOOLEAN FreePage,
|
BOOLEAN FreePage,
|
||||||
BOOLEAN* WasDirty,
|
BOOLEAN* WasDirty,
|
||||||
PPFN_TYPE Page
|
PPFN_NUMBER Page
|
||||||
);
|
);
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
|
@ -1451,11 +1450,11 @@ MmIsDirtyPage(
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmMarkPageMapped(PFN_TYPE Page);
|
MmMarkPageMapped(PFN_NUMBER Page);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmMarkPageUnmapped(PFN_TYPE Page);
|
MmMarkPageUnmapped(PFN_NUMBER Page);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
|
|
|
@ -50,7 +50,7 @@ MmMapIoSpace(IN PHYSICAL_ADDRESS PhysicalAddress,
|
||||||
IN MEMORY_CACHING_TYPE CacheType)
|
IN MEMORY_CACHING_TYPE CacheType)
|
||||||
{
|
{
|
||||||
|
|
||||||
PFN_TYPE Pfn, PageCount;
|
PFN_NUMBER Pfn, PageCount;
|
||||||
PMMPTE PointerPte;
|
PMMPTE PointerPte;
|
||||||
PVOID BaseAddress;
|
PVOID BaseAddress;
|
||||||
MMPTE TempPte;
|
MMPTE TempPte;
|
||||||
|
|
|
@ -573,7 +573,7 @@ MmProbeAndLockPages(IN PMDL Mdl,
|
||||||
IN KPROCESSOR_MODE AccessMode,
|
IN KPROCESSOR_MODE AccessMode,
|
||||||
IN LOCK_OPERATION Operation)
|
IN LOCK_OPERATION Operation)
|
||||||
{
|
{
|
||||||
PPFN_TYPE MdlPages;
|
PPFN_NUMBER MdlPages;
|
||||||
PVOID Base, Address, LastAddress, StartAddress;
|
PVOID Base, Address, LastAddress, StartAddress;
|
||||||
ULONG LockPages, TotalPages;
|
ULONG LockPages, TotalPages;
|
||||||
NTSTATUS Status = STATUS_SUCCESS;
|
NTSTATUS Status = STATUS_SUCCESS;
|
||||||
|
|
|
@ -53,7 +53,7 @@ MmWritePageVirtualMemory(PMMSUPPORT AddressSpace,
|
||||||
PMM_PAGEOP PageOp)
|
PMM_PAGEOP PageOp)
|
||||||
{
|
{
|
||||||
SWAPENTRY SwapEntry;
|
SWAPENTRY SwapEntry;
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
PEPROCESS Process = MmGetAddressSpaceOwner(AddressSpace);
|
PEPROCESS Process = MmGetAddressSpaceOwner(AddressSpace);
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ MmPageOutVirtualMemory(PMMSUPPORT AddressSpace,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
PMM_PAGEOP PageOp)
|
PMM_PAGEOP PageOp)
|
||||||
{
|
{
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
BOOLEAN WasDirty;
|
BOOLEAN WasDirty;
|
||||||
SWAPENTRY SwapEntry;
|
SWAPENTRY SwapEntry;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
|
@ -253,7 +253,7 @@ MmNotPresentFaultVirtualMemory(PMMSUPPORT AddressSpace,
|
||||||
* NOTES: This function is called with the address space lock held.
|
* NOTES: This function is called with the address space lock held.
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
PMM_REGION Region;
|
PMM_REGION Region;
|
||||||
PMM_PAGEOP PageOp;
|
PMM_PAGEOP PageOp;
|
||||||
|
@ -457,7 +457,7 @@ MmModifyAttributes(PMMSUPPORT AddressSpace,
|
||||||
|
|
||||||
for (i=0; i < PAGE_ROUND_UP(RegionSize)/PAGE_SIZE; i++)
|
for (i=0; i < PAGE_ROUND_UP(RegionSize)/PAGE_SIZE; i++)
|
||||||
{
|
{
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
|
|
||||||
if (MmIsPageSwapEntry(Process,
|
if (MmIsPageSwapEntry(Process,
|
||||||
(char*)BaseAddress + (i * PAGE_SIZE)))
|
(char*)BaseAddress + (i * PAGE_SIZE)))
|
||||||
|
@ -853,7 +853,7 @@ static VOID
|
||||||
MmFreeVirtualMemoryPage(PVOID Context,
|
MmFreeVirtualMemoryPage(PVOID Context,
|
||||||
MEMORY_AREA* MemoryArea,
|
MEMORY_AREA* MemoryArea,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
PFN_TYPE Page,
|
PFN_NUMBER Page,
|
||||||
SWAPENTRY SwapEntry,
|
SWAPENTRY SwapEntry,
|
||||||
BOOLEAN Dirty)
|
BOOLEAN Dirty)
|
||||||
{
|
{
|
||||||
|
|
|
@ -81,7 +81,7 @@ NTAPI
|
||||||
MmDisableVirtualMapping(IN PEPROCESS Process,
|
MmDisableVirtualMapping(IN PEPROCESS Process,
|
||||||
IN PVOID Address,
|
IN PVOID Address,
|
||||||
OUT PBOOLEAN WasDirty,
|
OUT PBOOLEAN WasDirty,
|
||||||
OUT PPFN_TYPE Page)
|
OUT PPFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
while (TRUE);
|
while (TRUE);
|
||||||
|
@ -101,7 +101,7 @@ NTAPI
|
||||||
MmCreateVirtualMappingUnsafe(IN PEPROCESS Process,
|
MmCreateVirtualMappingUnsafe(IN PEPROCESS Process,
|
||||||
IN PVOID Address,
|
IN PVOID Address,
|
||||||
IN ULONG Protection,
|
IN ULONG Protection,
|
||||||
IN PPFN_TYPE Pages,
|
IN PPFN_NUMBER Pages,
|
||||||
IN ULONG PageCount)
|
IN ULONG PageCount)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
|
@ -114,7 +114,7 @@ NTAPI
|
||||||
MmCreateVirtualMapping(IN PEPROCESS Process,
|
MmCreateVirtualMapping(IN PEPROCESS Process,
|
||||||
IN PVOID Address,
|
IN PVOID Address,
|
||||||
IN ULONG Protection,
|
IN ULONG Protection,
|
||||||
IN PPFN_TYPE Pages,
|
IN PPFN_NUMBER Pages,
|
||||||
IN ULONG PageCount)
|
IN ULONG PageCount)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
|
@ -136,7 +136,7 @@ MmDeleteVirtualMapping(IN PEPROCESS Process,
|
||||||
IN PVOID Address,
|
IN PVOID Address,
|
||||||
IN BOOLEAN FreePage,
|
IN BOOLEAN FreePage,
|
||||||
OUT PBOOLEAN WasDirty,
|
OUT PBOOLEAN WasDirty,
|
||||||
OUT PPFN_TYPE Page)
|
OUT PPFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
while (TRUE);
|
while (TRUE);
|
||||||
|
@ -163,7 +163,7 @@ MmCreatePageFileMapping(IN PEPROCESS Process,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetPfnForProcess(IN PEPROCESS Process,
|
MmGetPfnForProcess(IN PEPROCESS Process,
|
||||||
IN PVOID Address)
|
IN PVOID Address)
|
||||||
|
|
|
@ -430,7 +430,7 @@ NTAPI
|
||||||
MmDisableVirtualMapping(IN PEPROCESS Process,
|
MmDisableVirtualMapping(IN PEPROCESS Process,
|
||||||
IN PVOID Address,
|
IN PVOID Address,
|
||||||
OUT PBOOLEAN WasDirty,
|
OUT PBOOLEAN WasDirty,
|
||||||
OUT PPFN_TYPE Page)
|
OUT PPFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// TODO
|
// TODO
|
||||||
|
@ -557,7 +557,7 @@ NTAPI
|
||||||
MmCreateVirtualMappingUnsafe(IN PEPROCESS Process,
|
MmCreateVirtualMappingUnsafe(IN PEPROCESS Process,
|
||||||
IN PVOID Address,
|
IN PVOID Address,
|
||||||
IN ULONG Protection,
|
IN ULONG Protection,
|
||||||
IN PPFN_TYPE Pages,
|
IN PPFN_NUMBER Pages,
|
||||||
IN ULONG PageCount)
|
IN ULONG PageCount)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
|
@ -588,7 +588,7 @@ NTAPI
|
||||||
MmCreateVirtualMapping(IN PEPROCESS Process,
|
MmCreateVirtualMapping(IN PEPROCESS Process,
|
||||||
IN PVOID Address,
|
IN PVOID Address,
|
||||||
IN ULONG Protection,
|
IN ULONG Protection,
|
||||||
IN PPFN_TYPE Pages,
|
IN PPFN_NUMBER Pages,
|
||||||
IN ULONG PageCount)
|
IN ULONG PageCount)
|
||||||
{
|
{
|
||||||
ULONG i;
|
ULONG i;
|
||||||
|
@ -644,7 +644,7 @@ MmDeleteVirtualMapping(IN PEPROCESS Process,
|
||||||
IN PVOID Address,
|
IN PVOID Address,
|
||||||
IN BOOLEAN FreePage,
|
IN BOOLEAN FreePage,
|
||||||
OUT PBOOLEAN WasDirty,
|
OUT PBOOLEAN WasDirty,
|
||||||
OUT PPFN_TYPE Page)
|
OUT PPFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
PMMPTE PointerPte;
|
PMMPTE PointerPte;
|
||||||
MMPTE Pte;
|
MMPTE Pte;
|
||||||
|
@ -712,7 +712,7 @@ MmCreatePageFileMapping(IN PEPROCESS Process,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetPfnForProcess(IN PEPROCESS Process,
|
MmGetPfnForProcess(IN PEPROCESS Process,
|
||||||
IN PVOID Address)
|
IN PVOID Address)
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
/* TYPES ********************************************************************/
|
/* TYPES ********************************************************************/
|
||||||
typedef struct _MM_ALLOCATION_REQUEST
|
typedef struct _MM_ALLOCATION_REQUEST
|
||||||
{
|
{
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
LIST_ENTRY ListEntry;
|
LIST_ENTRY ListEntry;
|
||||||
KEVENT Event;
|
KEVENT Event;
|
||||||
}
|
}
|
||||||
|
@ -101,7 +101,7 @@ MmInitializeMemoryConsumer(ULONG Consumer,
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmReleasePageMemoryConsumer(ULONG Consumer, PFN_TYPE Page)
|
MmReleasePageMemoryConsumer(ULONG Consumer, PFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
PMM_ALLOCATION_REQUEST Request;
|
PMM_ALLOCATION_REQUEST Request;
|
||||||
PLIST_ENTRY Entry;
|
PLIST_ENTRY Entry;
|
||||||
|
@ -171,8 +171,8 @@ MiTrimMemoryConsumer(ULONG Consumer)
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
MmTrimUserMemory(ULONG Target, ULONG Priority, PULONG NrFreedPages)
|
MmTrimUserMemory(ULONG Target, ULONG Priority, PULONG NrFreedPages)
|
||||||
{
|
{
|
||||||
PFN_TYPE CurrentPage;
|
PFN_NUMBER CurrentPage;
|
||||||
PFN_TYPE NextPage;
|
PFN_NUMBER NextPage;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
|
|
||||||
(*NrFreedPages) = 0;
|
(*NrFreedPages) = 0;
|
||||||
|
@ -228,15 +228,15 @@ MiIsBalancerThread(VOID)
|
||||||
PsGetCurrentThread() == MiBalancerThreadId.UniqueThread;
|
PsGetCurrentThread() == MiBalancerThreadId.UniqueThread;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID NTAPI MiSetConsumer(IN PFN_TYPE Pfn, IN ULONG Consumer);
|
VOID NTAPI MiSetConsumer(IN PFN_NUMBER Pfn, IN ULONG Consumer);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmRequestPageMemoryConsumer(ULONG Consumer, BOOLEAN CanWait,
|
MmRequestPageMemoryConsumer(ULONG Consumer, BOOLEAN CanWait,
|
||||||
PPFN_TYPE AllocatedPage)
|
PPFN_NUMBER AllocatedPage)
|
||||||
{
|
{
|
||||||
ULONG OldUsed;
|
ULONG OldUsed;
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
KIRQL OldIrql;
|
KIRQL OldIrql;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -73,7 +73,7 @@ MiInitializeUserPfnBitmap(VOID)
|
||||||
RtlClearAllBits(&MiUserPfnBitMap);
|
RtlClearAllBits(&MiUserPfnBitMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetLRUFirstUserPage(VOID)
|
MmGetLRUFirstUserPage(VOID)
|
||||||
{
|
{
|
||||||
|
@ -92,7 +92,7 @@ MmGetLRUFirstUserPage(VOID)
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmInsertLRULastUserPage(PFN_TYPE Pfn)
|
MmInsertLRULastUserPage(PFN_NUMBER Pfn)
|
||||||
{
|
{
|
||||||
KIRQL OldIrql;
|
KIRQL OldIrql;
|
||||||
|
|
||||||
|
@ -102,9 +102,9 @@ MmInsertLRULastUserPage(PFN_TYPE Pfn)
|
||||||
KeReleaseQueuedSpinLock(LockQueuePfnLock, OldIrql);
|
KeReleaseQueuedSpinLock(LockQueuePfnLock, OldIrql);
|
||||||
}
|
}
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetLRUNextUserPage(PFN_TYPE PreviousPfn)
|
MmGetLRUNextUserPage(PFN_NUMBER PreviousPfn)
|
||||||
{
|
{
|
||||||
ULONG Position;
|
ULONG Position;
|
||||||
KIRQL OldIrql;
|
KIRQL OldIrql;
|
||||||
|
@ -121,7 +121,7 @@ MmGetLRUNextUserPage(PFN_TYPE PreviousPfn)
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmRemoveLRUUserPage(PFN_TYPE Page)
|
MmRemoveLRUUserPage(PFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
/* Unset the page as a user page */
|
/* Unset the page as a user page */
|
||||||
RtlClearBit(&MiUserPfnBitMap, Page);
|
RtlClearBit(&MiUserPfnBitMap, Page);
|
||||||
|
@ -448,7 +448,7 @@ MmDumpPfnDatabase(VOID)
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmSetRmapListHeadPage(PFN_TYPE Pfn, struct _MM_RMAP_ENTRY* ListHead)
|
MmSetRmapListHeadPage(PFN_NUMBER Pfn, struct _MM_RMAP_ENTRY* ListHead)
|
||||||
{
|
{
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
|
|
||||||
|
@ -459,7 +459,7 @@ MmSetRmapListHeadPage(PFN_TYPE Pfn, struct _MM_RMAP_ENTRY* ListHead)
|
||||||
|
|
||||||
struct _MM_RMAP_ENTRY*
|
struct _MM_RMAP_ENTRY*
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetRmapListHeadPage(PFN_TYPE Pfn)
|
MmGetRmapListHeadPage(PFN_NUMBER Pfn)
|
||||||
{
|
{
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
struct _MM_RMAP_ENTRY* ListHead;
|
struct _MM_RMAP_ENTRY* ListHead;
|
||||||
|
@ -473,7 +473,7 @@ MmGetRmapListHeadPage(PFN_TYPE Pfn)
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmSetSavedSwapEntryPage(PFN_TYPE Pfn, SWAPENTRY SwapEntry)
|
MmSetSavedSwapEntryPage(PFN_NUMBER Pfn, SWAPENTRY SwapEntry)
|
||||||
{
|
{
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
|
|
||||||
|
@ -484,7 +484,7 @@ MmSetSavedSwapEntryPage(PFN_TYPE Pfn, SWAPENTRY SwapEntry)
|
||||||
|
|
||||||
SWAPENTRY
|
SWAPENTRY
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetSavedSwapEntryPage(PFN_TYPE Pfn)
|
MmGetSavedSwapEntryPage(PFN_NUMBER Pfn)
|
||||||
{
|
{
|
||||||
SWAPENTRY SwapEntry;
|
SWAPENTRY SwapEntry;
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
|
@ -498,7 +498,7 @@ MmGetSavedSwapEntryPage(PFN_TYPE Pfn)
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmReferencePage(PFN_TYPE Pfn)
|
MmReferencePage(PFN_NUMBER Pfn)
|
||||||
{
|
{
|
||||||
PPHYSICAL_PAGE Page;
|
PPHYSICAL_PAGE Page;
|
||||||
|
|
||||||
|
@ -517,7 +517,7 @@ MmReferencePage(PFN_TYPE Pfn)
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetReferenceCountPage(PFN_TYPE Pfn)
|
MmGetReferenceCountPage(PFN_NUMBER Pfn)
|
||||||
{
|
{
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
ULONG RCount;
|
ULONG RCount;
|
||||||
|
@ -537,14 +537,14 @@ MmGetReferenceCountPage(PFN_TYPE Pfn)
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
MmIsPageInUse(PFN_TYPE Pfn)
|
MmIsPageInUse(PFN_NUMBER Pfn)
|
||||||
{
|
{
|
||||||
return MiIsPfnInUse(MiGetPfnEntry(Pfn));
|
return MiIsPfnInUse(MiGetPfnEntry(Pfn));
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MiSetConsumer(IN PFN_TYPE Pfn,
|
MiSetConsumer(IN PFN_NUMBER Pfn,
|
||||||
IN ULONG Type)
|
IN ULONG Type)
|
||||||
{
|
{
|
||||||
MiGetPfnEntry(Pfn)->u3.e1.PageLocation = ActiveAndValid;
|
MiGetPfnEntry(Pfn)->u3.e1.PageLocation = ActiveAndValid;
|
||||||
|
@ -552,7 +552,7 @@ MiSetConsumer(IN PFN_TYPE Pfn,
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDereferencePage(PFN_TYPE Pfn)
|
MmDereferencePage(PFN_NUMBER Pfn)
|
||||||
{
|
{
|
||||||
PPHYSICAL_PAGE Page;
|
PPHYSICAL_PAGE Page;
|
||||||
|
|
||||||
|
@ -574,11 +574,11 @@ MmDereferencePage(PFN_TYPE Pfn)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmAllocPage(ULONG Type)
|
MmAllocPage(ULONG Type)
|
||||||
{
|
{
|
||||||
PFN_TYPE PfnOffset;
|
PFN_NUMBER PfnOffset;
|
||||||
PPHYSICAL_PAGE PageDescriptor;
|
PPHYSICAL_PAGE PageDescriptor;
|
||||||
BOOLEAN NeedClear = FALSE;
|
BOOLEAN NeedClear = FALSE;
|
||||||
|
|
||||||
|
@ -622,7 +622,7 @@ MmAllocPage(ULONG Type)
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MiZeroPage(PFN_TYPE Page)
|
MiZeroPage(PFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
KIRQL Irql;
|
KIRQL Irql;
|
||||||
PVOID TempAddress;
|
PVOID TempAddress;
|
||||||
|
@ -646,7 +646,7 @@ MmZeroPageThreadMain(PVOID Ignored)
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
PPHYSICAL_PAGE PageDescriptor;
|
PPHYSICAL_PAGE PageDescriptor;
|
||||||
PFN_TYPE Pfn;
|
PFN_NUMBER Pfn;
|
||||||
ULONG Count;
|
ULONG Count;
|
||||||
|
|
||||||
/* Free initial kernel memory */
|
/* Free initial kernel memory */
|
||||||
|
|
|
@ -183,7 +183,7 @@ MmCreateProcessAddressSpace(IN ULONG MinWs,
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
ULONG i, j;
|
ULONG i, j;
|
||||||
PFN_TYPE Pfn[2];
|
PFN_NUMBER Pfn[2];
|
||||||
PULONG PageDirectory;
|
PULONG PageDirectory;
|
||||||
|
|
||||||
DPRINT("MmCopyMmInfo(Src %x, Dest %x)\n", MinWs, Process);
|
DPRINT("MmCopyMmInfo(Src %x, Dest %x)\n", MinWs, Process);
|
||||||
|
@ -225,7 +225,7 @@ MmGetPageTableForProcess(PEPROCESS Process, PVOID Address, BOOLEAN Create)
|
||||||
{
|
{
|
||||||
ULONG PdeOffset = ADDR_TO_PDE_OFFSET(Address);
|
ULONG PdeOffset = ADDR_TO_PDE_OFFSET(Address);
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
PFN_TYPE Pfn;
|
PFN_NUMBER Pfn;
|
||||||
ULONG Entry;
|
ULONG Entry;
|
||||||
PULONG Pt, PageDir;
|
PULONG Pt, PageDir;
|
||||||
|
|
||||||
|
@ -344,7 +344,7 @@ static ULONG MmGetPageEntryForProcess(PEPROCESS Process, PVOID Address)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetPfnForProcess(PEPROCESS Process,
|
MmGetPfnForProcess(PEPROCESS Process,
|
||||||
PVOID Address)
|
PVOID Address)
|
||||||
|
@ -360,7 +360,7 @@ MmGetPfnForProcess(PEPROCESS Process,
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDisableVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN* WasDirty, PPFN_TYPE Page)
|
MmDisableVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN* WasDirty, PPFN_NUMBER Page)
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Delete a virtual mapping
|
* FUNCTION: Delete a virtual mapping
|
||||||
*/
|
*/
|
||||||
|
@ -422,13 +422,13 @@ MmRawDeleteVirtualMapping(PVOID Address)
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDeleteVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN FreePage,
|
MmDeleteVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN FreePage,
|
||||||
BOOLEAN* WasDirty, PPFN_TYPE Page)
|
BOOLEAN* WasDirty, PPFN_NUMBER Page)
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Delete a virtual mapping
|
* FUNCTION: Delete a virtual mapping
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
BOOLEAN WasValid = FALSE;
|
BOOLEAN WasValid = FALSE;
|
||||||
PFN_TYPE Pfn;
|
PFN_NUMBER Pfn;
|
||||||
ULONG Pte;
|
ULONG Pte;
|
||||||
PULONG Pt;
|
PULONG Pt;
|
||||||
|
|
||||||
|
@ -701,7 +701,7 @@ NTAPI
|
||||||
MmCreateVirtualMappingUnsafe(PEPROCESS Process,
|
MmCreateVirtualMappingUnsafe(PEPROCESS Process,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
ULONG flProtect,
|
ULONG flProtect,
|
||||||
PPFN_TYPE Pages,
|
PPFN_NUMBER Pages,
|
||||||
ULONG PageCount)
|
ULONG PageCount)
|
||||||
{
|
{
|
||||||
ULONG Attributes;
|
ULONG Attributes;
|
||||||
|
@ -816,7 +816,7 @@ NTAPI
|
||||||
MmCreateVirtualMapping(PEPROCESS Process,
|
MmCreateVirtualMapping(PEPROCESS Process,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
ULONG flProtect,
|
ULONG flProtect,
|
||||||
PPFN_TYPE Pages,
|
PPFN_NUMBER Pages,
|
||||||
ULONG PageCount)
|
ULONG PageCount)
|
||||||
{
|
{
|
||||||
ULONG i;
|
ULONG i;
|
||||||
|
|
|
@ -348,7 +348,7 @@ MmCreateProcessAddressSpace(IN ULONG MinWs,
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
ULONG i, j;
|
ULONG i, j;
|
||||||
PFN_TYPE Pfn[7];
|
PFN_NUMBER Pfn[7];
|
||||||
ULONG Count;
|
ULONG Count;
|
||||||
|
|
||||||
DPRINT("MmCopyMmInfo(Src %x, Dest %x)\n", MinWs, Process);
|
DPRINT("MmCopyMmInfo(Src %x, Dest %x)\n", MinWs, Process);
|
||||||
|
@ -459,7 +459,7 @@ MmFreePageTable(PEPROCESS Process, PVOID Address)
|
||||||
{
|
{
|
||||||
PEPROCESS CurrentProcess = PsGetCurrentProcess();
|
PEPROCESS CurrentProcess = PsGetCurrentProcess();
|
||||||
ULONG i;
|
ULONG i;
|
||||||
PFN_TYPE Pfn;
|
PFN_NUMBER Pfn;
|
||||||
|
|
||||||
DPRINT("ProcessId %d, Address %x\n", Process->UniqueProcessId, Address);
|
DPRINT("ProcessId %d, Address %x\n", Process->UniqueProcessId, Address);
|
||||||
if (Process != NULL && Process != CurrentProcess)
|
if (Process != NULL && Process != CurrentProcess)
|
||||||
|
@ -521,7 +521,7 @@ static PULONGLONG
|
||||||
MmGetPageTableForProcessForPAE(PEPROCESS Process, PVOID Address, BOOLEAN Create)
|
MmGetPageTableForProcessForPAE(PEPROCESS Process, PVOID Address, BOOLEAN Create)
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
PFN_TYPE Pfn;
|
PFN_NUMBER Pfn;
|
||||||
ULONGLONG Entry;
|
ULONGLONG Entry;
|
||||||
ULONGLONG ZeroEntry = 0LL;
|
ULONGLONG ZeroEntry = 0LL;
|
||||||
PULONGLONG Pt;
|
PULONGLONG Pt;
|
||||||
|
@ -636,7 +636,7 @@ MmGetPageTableForProcess(PEPROCESS Process, PVOID Address, BOOLEAN Create)
|
||||||
{
|
{
|
||||||
ULONG PdeOffset = ADDR_TO_PDE_OFFSET(Address);
|
ULONG PdeOffset = ADDR_TO_PDE_OFFSET(Address);
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
PFN_TYPE Pfn;
|
PFN_NUMBER Pfn;
|
||||||
ULONG Entry;
|
ULONG Entry;
|
||||||
PULONG Pt, PageDir;
|
PULONG Pt, PageDir;
|
||||||
|
|
||||||
|
@ -780,7 +780,7 @@ static ULONG MmGetPageEntryForProcess(PEPROCESS Process, PVOID Address)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetPfnForProcess(PEPROCESS Process,
|
MmGetPfnForProcess(PEPROCESS Process,
|
||||||
PVOID Address)
|
PVOID Address)
|
||||||
|
@ -810,7 +810,7 @@ MmGetPfnForProcess(PEPROCESS Process,
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDisableVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN* WasDirty, PPFN_TYPE Page)
|
MmDisableVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN* WasDirty, PPFN_NUMBER Page)
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Delete a virtual mapping
|
* FUNCTION: Delete a virtual mapping
|
||||||
*/
|
*/
|
||||||
|
@ -931,13 +931,13 @@ MmRawDeleteVirtualMapping(PVOID Address)
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDeleteVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN FreePage,
|
MmDeleteVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN FreePage,
|
||||||
BOOLEAN* WasDirty, PPFN_TYPE Page)
|
BOOLEAN* WasDirty, PPFN_NUMBER Page)
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Delete a virtual mapping
|
* FUNCTION: Delete a virtual mapping
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
BOOLEAN WasValid = FALSE;
|
BOOLEAN WasValid = FALSE;
|
||||||
PFN_TYPE Pfn;
|
PFN_NUMBER Pfn;
|
||||||
|
|
||||||
DPRINT("MmDeleteVirtualMapping(%x, %x, %d, %x, %x)\n",
|
DPRINT("MmDeleteVirtualMapping(%x, %x, %d, %x, %x)\n",
|
||||||
Process, Address, FreePage, WasDirty, Page);
|
Process, Address, FreePage, WasDirty, Page);
|
||||||
|
@ -1510,7 +1510,7 @@ NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmCreateVirtualMappingForKernel(PVOID Address,
|
MmCreateVirtualMappingForKernel(PVOID Address,
|
||||||
ULONG flProtect,
|
ULONG flProtect,
|
||||||
PPFN_TYPE Pages,
|
PPFN_NUMBER Pages,
|
||||||
ULONG PageCount)
|
ULONG PageCount)
|
||||||
{
|
{
|
||||||
ULONG Attributes;
|
ULONG Attributes;
|
||||||
|
@ -1727,7 +1727,7 @@ NTAPI
|
||||||
MmCreateVirtualMappingUnsafe(PEPROCESS Process,
|
MmCreateVirtualMappingUnsafe(PEPROCESS Process,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
ULONG flProtect,
|
ULONG flProtect,
|
||||||
PPFN_TYPE Pages,
|
PPFN_NUMBER Pages,
|
||||||
ULONG PageCount)
|
ULONG PageCount)
|
||||||
{
|
{
|
||||||
ULONG Attributes;
|
ULONG Attributes;
|
||||||
|
@ -1933,7 +1933,7 @@ NTAPI
|
||||||
MmCreateVirtualMapping(PEPROCESS Process,
|
MmCreateVirtualMapping(PEPROCESS Process,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
ULONG flProtect,
|
ULONG flProtect,
|
||||||
PPFN_TYPE Pages,
|
PPFN_NUMBER Pages,
|
||||||
ULONG PageCount)
|
ULONG PageCount)
|
||||||
{
|
{
|
||||||
ULONG i;
|
ULONG i;
|
||||||
|
@ -2114,7 +2114,7 @@ MmGetPhysicalAddress(PVOID vaddr)
|
||||||
|
|
||||||
PVOID
|
PVOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmCreateHyperspaceMapping(PFN_TYPE Page)
|
MmCreateHyperspaceMapping(PFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
PVOID Address;
|
PVOID Address;
|
||||||
ULONG i;
|
ULONG i;
|
||||||
|
@ -2241,11 +2241,11 @@ MmCreateHyperspaceMapping(PFN_TYPE Page)
|
||||||
return Address;
|
return Address;
|
||||||
}
|
}
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmChangeHyperspaceMapping(PVOID Address, PFN_TYPE NewPage)
|
MmChangeHyperspaceMapping(PVOID Address, PFN_NUMBER NewPage)
|
||||||
{
|
{
|
||||||
PFN_TYPE Pfn;
|
PFN_NUMBER Pfn;
|
||||||
ASSERT (IS_HYPERSPACE(Address));
|
ASSERT (IS_HYPERSPACE(Address));
|
||||||
if (Ke386Pae)
|
if (Ke386Pae)
|
||||||
{
|
{
|
||||||
|
@ -2263,11 +2263,11 @@ MmChangeHyperspaceMapping(PVOID Address, PFN_TYPE NewPage)
|
||||||
return Pfn;
|
return Pfn;
|
||||||
}
|
}
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDeleteHyperspaceMapping(PVOID Address)
|
MmDeleteHyperspaceMapping(PVOID Address)
|
||||||
{
|
{
|
||||||
PFN_TYPE Pfn;
|
PFN_NUMBER Pfn;
|
||||||
ASSERT (IS_HYPERSPACE(Address));
|
ASSERT (IS_HYPERSPACE(Address));
|
||||||
if (Ke386Pae)
|
if (Ke386Pae)
|
||||||
{
|
{
|
||||||
|
|
|
@ -754,7 +754,7 @@ MmFreeMemoryArea(
|
||||||
{
|
{
|
||||||
BOOLEAN Dirty = FALSE;
|
BOOLEAN Dirty = FALSE;
|
||||||
SWAPENTRY SwapEntry = 0;
|
SWAPENTRY SwapEntry = 0;
|
||||||
PFN_TYPE Page = 0;
|
PFN_NUMBER Page = 0;
|
||||||
|
|
||||||
if (MmIsPageSwapEntry(Process, (PVOID)Address))
|
if (MmIsPageSwapEntry(Process, (PVOID)Address))
|
||||||
{
|
{
|
||||||
|
@ -1039,7 +1039,7 @@ MmMapMemoryArea(PVOID BaseAddress,
|
||||||
|
|
||||||
for (i = 0; i < PAGE_ROUND_UP(Length) / PAGE_SIZE; i++)
|
for (i = 0; i < PAGE_ROUND_UP(Length) / PAGE_SIZE; i++)
|
||||||
{
|
{
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
|
|
||||||
Status = MmRequestPageMemoryConsumer(Consumer, TRUE, &Page);
|
Status = MmRequestPageMemoryConsumer(Consumer, TRUE, &Page);
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
|
|
|
@ -312,7 +312,7 @@ NTAPI
|
||||||
MmCommitPagedPoolAddress(PVOID Address, BOOLEAN Locked)
|
MmCommitPagedPoolAddress(PVOID Address, BOOLEAN Locked)
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
PFN_TYPE AllocatedPage;
|
PFN_NUMBER AllocatedPage;
|
||||||
|
|
||||||
Status = MmRequestPageMemoryConsumer(MC_PPOOL, FALSE, &AllocatedPage);
|
Status = MmRequestPageMemoryConsumer(MC_PPOOL, FALSE, &AllocatedPage);
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
|
|
|
@ -121,9 +121,9 @@ static BOOLEAN MmSwapSpaceMessage = FALSE;
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmBuildMdlFromPages(PMDL Mdl, PPFN_TYPE Pages)
|
MmBuildMdlFromPages(PMDL Mdl, PPFN_NUMBER Pages)
|
||||||
{
|
{
|
||||||
memcpy(Mdl + 1, Pages, sizeof(PFN_TYPE) * (PAGE_ROUND_UP(Mdl->ByteOffset+Mdl->ByteCount)/PAGE_SIZE));
|
memcpy(Mdl + 1, Pages, sizeof(PFN_NUMBER) * (PAGE_ROUND_UP(Mdl->ByteOffset+Mdl->ByteCount)/PAGE_SIZE));
|
||||||
|
|
||||||
/* FIXME: this flag should be set by the caller perhaps? */
|
/* FIXME: this flag should be set by the caller perhaps? */
|
||||||
Mdl->MdlFlags |= MDL_IO_PAGE_READ;
|
Mdl->MdlFlags |= MDL_IO_PAGE_READ;
|
||||||
|
@ -217,7 +217,7 @@ MmGetOffsetPageFile(PRETRIEVAL_POINTERS_BUFFER RetrievalPointers, LARGE_INTEGER
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmWriteToSwapPage(SWAPENTRY SwapEntry, PFN_TYPE Page)
|
MmWriteToSwapPage(SWAPENTRY SwapEntry, PFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
ULONG i, offset;
|
ULONG i, offset;
|
||||||
LARGE_INTEGER file_offset;
|
LARGE_INTEGER file_offset;
|
||||||
|
@ -278,7 +278,7 @@ MmWriteToSwapPage(SWAPENTRY SwapEntry, PFN_TYPE Page)
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmReadFromSwapPage(SWAPENTRY SwapEntry, PFN_TYPE Page)
|
MmReadFromSwapPage(SWAPENTRY SwapEntry, PFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
ULONG i, offset;
|
ULONG i, offset;
|
||||||
LARGE_INTEGER file_offset;
|
LARGE_INTEGER file_offset;
|
||||||
|
|
|
@ -191,17 +191,17 @@ MmGetPhysicalAddress(PVOID vaddr)
|
||||||
return Addr;
|
return Addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmGetPfnForProcess(PEPROCESS Process,
|
MmGetPfnForProcess(PEPROCESS Process,
|
||||||
PVOID Address)
|
PVOID Address)
|
||||||
{
|
{
|
||||||
return((PFN_TYPE)MmGetPhysicalAddressProcess(Process, Address) >> PAGE_SHIFT);
|
return((PFN_NUMBER)MmGetPhysicalAddressProcess(Process, Address) >> PAGE_SHIFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDisableVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN* WasDirty, PPFN_TYPE Page)
|
MmDisableVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN* WasDirty, PPFN_NUMBER Page)
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Delete a virtual mapping
|
* FUNCTION: Delete a virtual mapping
|
||||||
*/
|
*/
|
||||||
|
@ -221,7 +221,7 @@ MmRawDeleteVirtualMapping(PVOID Address)
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDeleteVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN FreePage,
|
MmDeleteVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN FreePage,
|
||||||
BOOLEAN* WasDirty, PPFN_TYPE Page)
|
BOOLEAN* WasDirty, PPFN_NUMBER Page)
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Delete a virtual mapping
|
* FUNCTION: Delete a virtual mapping
|
||||||
*/
|
*/
|
||||||
|
@ -358,7 +358,7 @@ NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmCreateVirtualMappingForKernel(PVOID Address,
|
MmCreateVirtualMappingForKernel(PVOID Address,
|
||||||
ULONG flProtect,
|
ULONG flProtect,
|
||||||
PPFN_TYPE Pages,
|
PPFN_NUMBER Pages,
|
||||||
ULONG PageCount)
|
ULONG PageCount)
|
||||||
{
|
{
|
||||||
ULONG i;
|
ULONG i;
|
||||||
|
@ -424,7 +424,7 @@ NTAPI
|
||||||
MmCreateVirtualMappingUnsafe(PEPROCESS Process,
|
MmCreateVirtualMappingUnsafe(PEPROCESS Process,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
ULONG flProtect,
|
ULONG flProtect,
|
||||||
PPFN_TYPE Pages,
|
PPFN_NUMBER Pages,
|
||||||
ULONG PageCount)
|
ULONG PageCount)
|
||||||
{
|
{
|
||||||
ULONG Attributes;
|
ULONG Attributes;
|
||||||
|
@ -498,7 +498,7 @@ NTAPI
|
||||||
MmCreateVirtualMapping(PEPROCESS Process,
|
MmCreateVirtualMapping(PEPROCESS Process,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
ULONG flProtect,
|
ULONG flProtect,
|
||||||
PPFN_TYPE Pages,
|
PPFN_NUMBER Pages,
|
||||||
ULONG PageCount)
|
ULONG PageCount)
|
||||||
{
|
{
|
||||||
ULONG i;
|
ULONG i;
|
||||||
|
@ -573,7 +573,7 @@ MmSetPageProtect(PEPROCESS Process, PVOID Address, ULONG flProtect)
|
||||||
|
|
||||||
PVOID
|
PVOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmCreateHyperspaceMapping(PFN_TYPE Page)
|
MmCreateHyperspaceMapping(PFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
PVOID Address;
|
PVOID Address;
|
||||||
ppc_map_info_t info = { 0 };
|
ppc_map_info_t info = { 0 };
|
||||||
|
@ -587,11 +587,11 @@ MmCreateHyperspaceMapping(PFN_TYPE Page)
|
||||||
return Address;
|
return Address;
|
||||||
}
|
}
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmChangeHyperspaceMapping(PVOID Address, PFN_TYPE NewPage)
|
MmChangeHyperspaceMapping(PVOID Address, PFN_NUMBER NewPage)
|
||||||
{
|
{
|
||||||
PFN_TYPE OldPage;
|
PFN_NUMBER OldPage;
|
||||||
ppc_map_info_t info = { 0 };
|
ppc_map_info_t info = { 0 };
|
||||||
|
|
||||||
info.proc = 0;
|
info.proc = 0;
|
||||||
|
@ -604,7 +604,7 @@ MmChangeHyperspaceMapping(PVOID Address, PFN_TYPE NewPage)
|
||||||
return NewPage;
|
return NewPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
PFN_TYPE
|
PFN_NUMBER
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDeleteHyperspaceMapping(PVOID Address)
|
MmDeleteHyperspaceMapping(PVOID Address)
|
||||||
{
|
{
|
||||||
|
@ -616,7 +616,7 @@ MmDeleteHyperspaceMapping(PVOID Address)
|
||||||
|
|
||||||
MmuUnmapPage(&info, 1);
|
MmuUnmapPage(&info, 1);
|
||||||
|
|
||||||
return (PFN_TYPE)info.phys;
|
return (PFN_NUMBER)info.phys;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
@ -658,7 +658,7 @@ NTSTATUS MmPPCCreatePrimitiveMapping(ULONG_PTR PageAddr)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Use our primitive allocator */
|
/* Use our primitive allocator */
|
||||||
PFN_TYPE MmPPCPrimitiveAllocPage()
|
PFN_NUMBER MmPPCPrimitiveAllocPage()
|
||||||
{
|
{
|
||||||
paddr_t Result = MmuGetPage();
|
paddr_t Result = MmuGetPage();
|
||||||
DbgPrint("Got Page %x\n", Result);
|
DbgPrint("Got Page %x\n", Result);
|
||||||
|
|
|
@ -54,7 +54,7 @@ MmInitializeRmapList(VOID)
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmWritePagePhysicalAddress(PFN_TYPE Page)
|
MmWritePagePhysicalAddress(PFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
PMM_RMAP_ENTRY entry;
|
PMM_RMAP_ENTRY entry;
|
||||||
PMEMORY_AREA MemoryArea;
|
PMEMORY_AREA MemoryArea;
|
||||||
|
@ -188,7 +188,7 @@ MmWritePagePhysicalAddress(PFN_TYPE Page)
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MmPageOutPhysicalAddress(PFN_TYPE Page)
|
MmPageOutPhysicalAddress(PFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
PMM_RMAP_ENTRY entry;
|
PMM_RMAP_ENTRY entry;
|
||||||
PMEMORY_AREA MemoryArea;
|
PMEMORY_AREA MemoryArea;
|
||||||
|
@ -312,7 +312,7 @@ MmPageOutPhysicalAddress(PFN_TYPE Page)
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmSetCleanAllRmaps(PFN_TYPE Page)
|
MmSetCleanAllRmaps(PFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
PMM_RMAP_ENTRY current_entry;
|
PMM_RMAP_ENTRY current_entry;
|
||||||
|
|
||||||
|
@ -333,7 +333,7 @@ MmSetCleanAllRmaps(PFN_TYPE Page)
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmSetDirtyAllRmaps(PFN_TYPE Page)
|
MmSetDirtyAllRmaps(PFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
PMM_RMAP_ENTRY current_entry;
|
PMM_RMAP_ENTRY current_entry;
|
||||||
|
|
||||||
|
@ -354,7 +354,7 @@ MmSetDirtyAllRmaps(PFN_TYPE Page)
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
MmIsDirtyPageRmap(PFN_TYPE Page)
|
MmIsDirtyPageRmap(PFN_NUMBER Page)
|
||||||
{
|
{
|
||||||
PMM_RMAP_ENTRY current_entry;
|
PMM_RMAP_ENTRY current_entry;
|
||||||
|
|
||||||
|
@ -380,7 +380,7 @@ MmIsDirtyPageRmap(PFN_TYPE Page)
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmInsertRmap(PFN_TYPE Page, PEPROCESS Process,
|
MmInsertRmap(PFN_NUMBER Page, PEPROCESS Process,
|
||||||
PVOID Address)
|
PVOID Address)
|
||||||
{
|
{
|
||||||
PMM_RMAP_ENTRY current_entry;
|
PMM_RMAP_ENTRY current_entry;
|
||||||
|
@ -450,7 +450,7 @@ MmInsertRmap(PFN_TYPE Page, PEPROCESS Process,
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDeleteAllRmaps(PFN_TYPE Page, PVOID Context,
|
MmDeleteAllRmaps(PFN_NUMBER Page, PVOID Context,
|
||||||
VOID (*DeleteMapping)(PVOID Context, PEPROCESS Process,
|
VOID (*DeleteMapping)(PVOID Context, PEPROCESS Process,
|
||||||
PVOID Address))
|
PVOID Address))
|
||||||
{
|
{
|
||||||
|
@ -491,7 +491,7 @@ MmDeleteAllRmaps(PFN_TYPE Page, PVOID Context,
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
MmDeleteRmap(PFN_TYPE Page, PEPROCESS Process,
|
MmDeleteRmap(PFN_NUMBER Page, PEPROCESS Process,
|
||||||
PVOID Address)
|
PVOID Address)
|
||||||
{
|
{
|
||||||
PMM_RMAP_ENTRY current_entry, previous_entry;
|
PMM_RMAP_ENTRY current_entry, previous_entry;
|
||||||
|
|
|
@ -465,7 +465,7 @@ MmUnsharePageEntrySectionSegment(PROS_SECTION_OBJECT Section,
|
||||||
PFILE_OBJECT FileObject;
|
PFILE_OBJECT FileObject;
|
||||||
PBCB Bcb;
|
PBCB Bcb;
|
||||||
SWAPENTRY SavedSwapEntry;
|
SWAPENTRY SavedSwapEntry;
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
BOOLEAN IsImageSection;
|
BOOLEAN IsImageSection;
|
||||||
ULONG FileOffset;
|
ULONG FileOffset;
|
||||||
|
|
||||||
|
@ -580,7 +580,7 @@ BOOLEAN MiIsPageFromCache(PMEMORY_AREA MemoryArea,
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MiCopyFromUserPage(PFN_TYPE DestPage, PVOID SourceAddress)
|
MiCopyFromUserPage(PFN_NUMBER DestPage, PVOID SourceAddress)
|
||||||
{
|
{
|
||||||
PEPROCESS Process;
|
PEPROCESS Process;
|
||||||
KIRQL Irql;
|
KIRQL Irql;
|
||||||
|
@ -601,7 +601,7 @@ NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
MiReadPage(PMEMORY_AREA MemoryArea,
|
MiReadPage(PMEMORY_AREA MemoryArea,
|
||||||
ULONG SegOffset,
|
ULONG SegOffset,
|
||||||
PPFN_TYPE Page)
|
PPFN_NUMBER Page)
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Read a page for a section backed memory area.
|
* FUNCTION: Read a page for a section backed memory area.
|
||||||
* PARAMETERS:
|
* PARAMETERS:
|
||||||
|
@ -782,7 +782,7 @@ MmNotPresentFaultSectionView(PMMSUPPORT AddressSpace,
|
||||||
BOOLEAN Locked)
|
BOOLEAN Locked)
|
||||||
{
|
{
|
||||||
ULONG Offset;
|
ULONG Offset;
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
PVOID PAddress;
|
PVOID PAddress;
|
||||||
PROS_SECTION_OBJECT Section;
|
PROS_SECTION_OBJECT Section;
|
||||||
|
@ -1267,8 +1267,8 @@ MmAccessFaultSectionView(PMMSUPPORT AddressSpace,
|
||||||
{
|
{
|
||||||
PMM_SECTION_SEGMENT Segment;
|
PMM_SECTION_SEGMENT Segment;
|
||||||
PROS_SECTION_OBJECT Section;
|
PROS_SECTION_OBJECT Section;
|
||||||
PFN_TYPE OldPage;
|
PFN_NUMBER OldPage;
|
||||||
PFN_TYPE NewPage;
|
PFN_NUMBER NewPage;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
PVOID PAddress;
|
PVOID PAddress;
|
||||||
ULONG Offset;
|
ULONG Offset;
|
||||||
|
@ -1435,7 +1435,7 @@ MmPageOutDeleteMapping(PVOID Context, PEPROCESS Process, PVOID Address)
|
||||||
{
|
{
|
||||||
MM_SECTION_PAGEOUT_CONTEXT* PageOutContext;
|
MM_SECTION_PAGEOUT_CONTEXT* PageOutContext;
|
||||||
BOOLEAN WasDirty;
|
BOOLEAN WasDirty;
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
|
|
||||||
PageOutContext = (MM_SECTION_PAGEOUT_CONTEXT*)Context;
|
PageOutContext = (MM_SECTION_PAGEOUT_CONTEXT*)Context;
|
||||||
if (Process)
|
if (Process)
|
||||||
|
@ -1482,7 +1482,7 @@ MmPageOutSectionView(PMMSUPPORT AddressSpace,
|
||||||
PVOID Address,
|
PVOID Address,
|
||||||
PMM_PAGEOP PageOp)
|
PMM_PAGEOP PageOp)
|
||||||
{
|
{
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
MM_SECTION_PAGEOUT_CONTEXT Context;
|
MM_SECTION_PAGEOUT_CONTEXT Context;
|
||||||
SWAPENTRY SwapEntry;
|
SWAPENTRY SwapEntry;
|
||||||
ULONG Entry;
|
ULONG Entry;
|
||||||
|
@ -1842,7 +1842,7 @@ MmWritePageSectionView(PMMSUPPORT AddressSpace,
|
||||||
ULONG Offset;
|
ULONG Offset;
|
||||||
PROS_SECTION_OBJECT Section;
|
PROS_SECTION_OBJECT Section;
|
||||||
PMM_SECTION_SEGMENT Segment;
|
PMM_SECTION_SEGMENT Segment;
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
SWAPENTRY SwapEntry;
|
SWAPENTRY SwapEntry;
|
||||||
ULONG Entry;
|
ULONG Entry;
|
||||||
BOOLEAN Private;
|
BOOLEAN Private;
|
||||||
|
@ -2019,7 +2019,7 @@ MmAlterViewAttributes(PMMSUPPORT AddressSpace,
|
||||||
{
|
{
|
||||||
ULONG Offset;
|
ULONG Offset;
|
||||||
ULONG Entry;
|
ULONG Entry;
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
|
|
||||||
Offset = (ULONG_PTR)Address - (ULONG_PTR)MemoryArea->StartingAddress
|
Offset = (ULONG_PTR)Address - (ULONG_PTR)MemoryArea->StartingAddress
|
||||||
+ MemoryArea->Data.SectionData.ViewOffset;
|
+ MemoryArea->Data.SectionData.ViewOffset;
|
||||||
|
@ -2128,7 +2128,7 @@ MmpFreePageFileSegment(PMM_SECTION_SEGMENT Segment)
|
||||||
ULONG Offset;
|
ULONG Offset;
|
||||||
ULONG Entry;
|
ULONG Entry;
|
||||||
ULONG SavedSwapEntry;
|
ULONG SavedSwapEntry;
|
||||||
PFN_TYPE Page;
|
PFN_NUMBER Page;
|
||||||
|
|
||||||
Page = 0;
|
Page = 0;
|
||||||
|
|
||||||
|
@ -3877,7 +3877,7 @@ NtMapViewOfSection(IN HANDLE SectionHandle,
|
||||||
|
|
||||||
static VOID
|
static VOID
|
||||||
MmFreeSectionPage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
|
MmFreeSectionPage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
|
||||||
PFN_TYPE Page, SWAPENTRY SwapEntry, BOOLEAN Dirty)
|
PFN_NUMBER Page, SWAPENTRY SwapEntry, BOOLEAN Dirty)
|
||||||
{
|
{
|
||||||
ULONG Entry;
|
ULONG Entry;
|
||||||
PFILE_OBJECT FileObject;
|
PFILE_OBJECT FileObject;
|
||||||
|
|
Loading…
Reference in a new issue