/* GLOBALS *******************************************************************/
-static PFN_TYPE CcZeroPage = 0;
+static PFN_NUMBER CcZeroPage = 0;
#define MAX_ZERO_LENGTH (256 * 1024)
#define MAX_RW_LENGTH (256 * 1024)
PCACHE_SEGMENT current2;
ULONG current_size;
ULONG i;
- PPFN_TYPE MdlPages;
+ PPFN_NUMBER MdlPages;
/*
* Count the maximum number of bytes we could read starting
Mdl->MdlFlags |= (MDL_PAGES_LOCKED | MDL_IO_PAGE_READ);
current2 = current;
current_size = 0;
- MdlPages = (PPFN_TYPE)(Mdl + 1);
+ MdlPages = (PPFN_NUMBER)(Mdl + 1);
while (current2 != NULL && !current2->Valid && current_size < MAX_RW_LENGTH)
{
PVOID address = current2->BaseAddress;
Mdl->MdlFlags |= (MDL_PAGES_LOCKED | MDL_IO_PAGE_READ);
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);
Status = IoSynchronousPageWrite(FileObject, Mdl, &WriteOffset, &Event, &Iosb);
KeReleaseGuardedMutex(&ViewLock);
for (i = 0; i < current->Bcb->CacheSegmentSize / PAGE_SIZE; i++)
{
- PFN_TYPE Page;
- Page = (PFN_TYPE)(MmGetPhysicalAddress((char*)current->BaseAddress + i * PAGE_SIZE).QuadPart >> PAGE_SHIFT);
+ PFN_NUMBER Page;
+ Page = (PFN_NUMBER)(MmGetPhysicalAddress((char*)current->BaseAddress + i * PAGE_SIZE).QuadPart >> PAGE_SHIFT);
Status = MmPageOutPhysicalAddress(Page);
}
KeAcquireGuardedMutex(&ViewLock);
#else
static VOID
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);
if (Page != 0)
ULONG i;
ULONG RegionSize;
ULONG Base;
- PFN_TYPE Page;
+ PFN_NUMBER Page;
KIRQL oldIrql;
#endif
DPRINT("Freeing cache segment 0x%p\n", CacheSeg);
struct _MM_RMAP_ENTRY;
struct _MM_PAGEOP;
typedef ULONG SWAPENTRY;
-typedef ULONG PFN_TYPE, *PPFN_TYPE;
//
// MmDbgCopyMemory Flags
PVOID Context,
PMEMORY_AREA MemoryArea,
PVOID Address,
- PFN_TYPE Page,
+ PFN_NUMBER Page,
SWAPENTRY SwapEntry,
BOOLEAN Dirty
);
NTAPI
MmBuildMdlFromPages(
PMDL Mdl,
- PULONG Pages
+ PPFN_NUMBER Pages
);
/* mminit.c ******************************************************************/
NTAPI
MmReadFromSwapPage(
SWAPENTRY SwapEntry,
- PFN_TYPE Page
+ PFN_NUMBER Page
);
BOOLEAN
NTAPI
MmWriteToSwapPage(
SWAPENTRY SwapEntry,
- PFN_TYPE Page
+ PFN_NUMBER Page
);
NTSTATUS
PVOID
NTAPI
-ExAllocatePageWithPhysPage(PFN_TYPE Page);
+ExAllocatePageWithPhysPage(PFN_NUMBER Page);
NTSTATUS
NTAPI
MiCopyFromUserPage(
- PFN_TYPE Page,
+ PFN_NUMBER Page,
PVOID SourceAddress
);
NTSTATUS
NTAPI
-MiZeroPage(PFN_TYPE Page);
+MiZeroPage(PFN_NUMBER Page);
/* memsafe.s *****************************************************************/
NTAPI
MmReleasePageMemoryConsumer(
ULONG Consumer,
- PFN_TYPE Page
+ PFN_NUMBER Page
);
NTSTATUS
MmRequestPageMemoryConsumer(
ULONG Consumer,
BOOLEAN MyWait,
- PPFN_TYPE AllocatedPage
+ PPFN_NUMBER AllocatedPage
);
VOID
VOID
NTAPI
MmSetRmapListHeadPage(
- PFN_TYPE Page,
+ PFN_NUMBER Page,
struct _MM_RMAP_ENTRY* ListHead
);
struct _MM_RMAP_ENTRY*
NTAPI
-MmGetRmapListHeadPage(PFN_TYPE Page);
+MmGetRmapListHeadPage(PFN_NUMBER Page);
VOID
NTAPI
MmInsertRmap(
- PFN_TYPE Page,
+ PFN_NUMBER Page,
struct _EPROCESS *Process,
PVOID Address
);
VOID
NTAPI
MmDeleteAllRmaps(
- PFN_TYPE Page,
+ PFN_NUMBER Page,
PVOID Context,
VOID (*DeleteMapping)(PVOID Context, struct _EPROCESS *Process, PVOID Address)
);
VOID
NTAPI
MmDeleteRmap(
- PFN_TYPE Page,
+ PFN_NUMBER Page,
struct _EPROCESS *Process,
PVOID Address
);
VOID
NTAPI
-MmSetCleanAllRmaps(PFN_TYPE Page);
+MmSetCleanAllRmaps(PFN_NUMBER Page);
VOID
NTAPI
-MmSetDirtyAllRmaps(PFN_TYPE Page);
+MmSetDirtyAllRmaps(PFN_NUMBER Page);
BOOLEAN
NTAPI
-MmIsDirtyPageRmap(PFN_TYPE Page);
+MmIsDirtyPageRmap(PFN_NUMBER Page);
NTSTATUS
NTAPI
-MmWritePagePhysicalAddress(PFN_TYPE Page);
+MmWritePagePhysicalAddress(PFN_NUMBER Page);
NTSTATUS
NTAPI
-MmPageOutPhysicalAddress(PFN_TYPE Page);
+MmPageOutPhysicalAddress(PFN_NUMBER Page);
/* freelist.c **********************************************************/
FORCEINLINE
PMMPFN
-MiGetPfnEntry(IN PFN_TYPE Pfn)
+MiGetPfnEntry(IN PFN_NUMBER Pfn)
{
PMMPFN Page;
extern RTL_BITMAP MiPfnBitMap;
return Pfn1 - MmPfnDatabase;
}
-PFN_TYPE
+PFN_NUMBER
NTAPI
-MmGetLRUNextUserPage(PFN_TYPE PreviousPage);
+MmGetLRUNextUserPage(PFN_NUMBER PreviousPage);
-PFN_TYPE
+PFN_NUMBER
NTAPI
MmGetLRUFirstUserPage(VOID);
VOID
NTAPI
-MmInsertLRULastUserPage(PFN_TYPE Page);
+MmInsertLRULastUserPage(PFN_NUMBER Page);
VOID
NTAPI
-MmRemoveLRUUserPage(PFN_TYPE Page);
+MmRemoveLRUUserPage(PFN_NUMBER Page);
VOID
NTAPI
-MmLockPage(PFN_TYPE Page);
+MmLockPage(PFN_NUMBER Page);
VOID
NTAPI
-MmUnlockPage(PFN_TYPE Page);
+MmUnlockPage(PFN_NUMBER Page);
ULONG
NTAPI
-MmGetLockCountPage(PFN_TYPE Page);
+MmGetLockCountPage(PFN_NUMBER Page);
VOID
NTAPI
VOID
);
-PFN_TYPE
+PFN_NUMBER
NTAPI
MmGetContinuousPages(
ULONG NumberOfBytes,
MmCreateVirtualMappingForKernel(
PVOID Address,
ULONG flProtect,
- PPFN_TYPE Pages,
+ PPFN_NUMBER Pages,
ULONG PageCount
);
struct _EPROCESS* Process,
PVOID Address,
ULONG flProtect,
- PPFN_TYPE Pages,
+ PPFN_NUMBER Pages,
ULONG PageCount
);
struct _EPROCESS* Process,
PVOID Address,
ULONG flProtect,
- PPFN_TYPE Pages,
+ PPFN_NUMBER Pages,
ULONG PageCount
);
struct _EPROCESS *Process,
PVOID Address,
BOOLEAN* WasDirty,
- PPFN_TYPE Page
+ PPFN_NUMBER Page
);
VOID
VOID
NTAPI
MmTransferOwnershipPage(
- PFN_TYPE Page,
+ PFN_NUMBER Page,
ULONG NewConsumer
);
PVOID Address
);
-PFN_TYPE
+PFN_NUMBER
NTAPI
MmAllocPage(
ULONG Consumer
PHYSICAL_ADDRESS LowestAddress,
PHYSICAL_ADDRESS HighestAddress,
ULONG NumberOfPages,
- PPFN_TYPE Pages
+ PPFN_NUMBER Pages
);
VOID
NTAPI
-MmDereferencePage(PFN_TYPE Page);
+MmDereferencePage(PFN_NUMBER Page);
VOID
NTAPI
-MmReferencePage(PFN_TYPE Page);
+MmReferencePage(PFN_NUMBER Page);
ULONG
NTAPI
-MmGetReferenceCountPage(PFN_TYPE Page);
+MmGetReferenceCountPage(PFN_NUMBER Page);
BOOLEAN
NTAPI
-MmIsPageInUse(PFN_TYPE Page);
+MmIsPageInUse(PFN_NUMBER Page);
VOID
NTAPI
MmSetSavedSwapEntryPage(
- PFN_TYPE Page,
+ PFN_NUMBER Page,
SWAPENTRY SavedSwapEntry);
SWAPENTRY
NTAPI
-MmGetSavedSwapEntryPage(PFN_TYPE Page);
+MmGetSavedSwapEntryPage(PFN_NUMBER Page);
VOID
NTAPI
PVOID Address
);
-PFN_TYPE
+PFN_NUMBER
NTAPI
MmGetPfnForProcess(
struct _EPROCESS *Process,
PVOID Address,
BOOLEAN FreePage,
BOOLEAN* WasDirty,
- PPFN_TYPE Page
+ PPFN_NUMBER Page
);
BOOLEAN
VOID
NTAPI
-MmMarkPageMapped(PFN_TYPE Page);
+MmMarkPageMapped(PFN_NUMBER Page);
VOID
NTAPI
-MmMarkPageUnmapped(PFN_TYPE Page);
+MmMarkPageUnmapped(PFN_NUMBER Page);
VOID
NTAPI
IN MEMORY_CACHING_TYPE CacheType)
{
- PFN_TYPE Pfn, PageCount;
+ PFN_NUMBER Pfn, PageCount;
PMMPTE PointerPte;
PVOID BaseAddress;
MMPTE TempPte;
IN KPROCESSOR_MODE AccessMode,
IN LOCK_OPERATION Operation)
{
- PPFN_TYPE MdlPages;
+ PPFN_NUMBER MdlPages;
PVOID Base, Address, LastAddress, StartAddress;
ULONG LockPages, TotalPages;
NTSTATUS Status = STATUS_SUCCESS;
PMM_PAGEOP PageOp)
{
SWAPENTRY SwapEntry;
- PFN_TYPE Page;
+ PFN_NUMBER Page;
NTSTATUS Status;
PEPROCESS Process = MmGetAddressSpaceOwner(AddressSpace);
PVOID Address,
PMM_PAGEOP PageOp)
{
- PFN_TYPE Page;
+ PFN_NUMBER Page;
BOOLEAN WasDirty;
SWAPENTRY SwapEntry;
NTSTATUS Status;
* NOTES: This function is called with the address space lock held.
*/
{
- PFN_TYPE Page;
+ PFN_NUMBER Page;
NTSTATUS Status;
PMM_REGION Region;
PMM_PAGEOP PageOp;
for (i=0; i < PAGE_ROUND_UP(RegionSize)/PAGE_SIZE; i++)
{
- PFN_TYPE Page;
+ PFN_NUMBER Page;
if (MmIsPageSwapEntry(Process,
(char*)BaseAddress + (i * PAGE_SIZE)))
MmFreeVirtualMemoryPage(PVOID Context,
MEMORY_AREA* MemoryArea,
PVOID Address,
- PFN_TYPE Page,
+ PFN_NUMBER Page,
SWAPENTRY SwapEntry,
BOOLEAN Dirty)
{
MmDisableVirtualMapping(IN PEPROCESS Process,
IN PVOID Address,
OUT PBOOLEAN WasDirty,
- OUT PPFN_TYPE Page)
+ OUT PPFN_NUMBER Page)
{
UNIMPLEMENTED;
while (TRUE);
MmCreateVirtualMappingUnsafe(IN PEPROCESS Process,
IN PVOID Address,
IN ULONG Protection,
- IN PPFN_TYPE Pages,
+ IN PPFN_NUMBER Pages,
IN ULONG PageCount)
{
UNIMPLEMENTED;
MmCreateVirtualMapping(IN PEPROCESS Process,
IN PVOID Address,
IN ULONG Protection,
- IN PPFN_TYPE Pages,
+ IN PPFN_NUMBER Pages,
IN ULONG PageCount)
{
UNIMPLEMENTED;
IN PVOID Address,
IN BOOLEAN FreePage,
OUT PBOOLEAN WasDirty,
- OUT PPFN_TYPE Page)
+ OUT PPFN_NUMBER Page)
{
UNIMPLEMENTED;
while (TRUE);
return 0;
}
-PFN_TYPE
+PFN_NUMBER
NTAPI
MmGetPfnForProcess(IN PEPROCESS Process,
IN PVOID Address)
MmDisableVirtualMapping(IN PEPROCESS Process,
IN PVOID Address,
OUT PBOOLEAN WasDirty,
- OUT PPFN_TYPE Page)
+ OUT PPFN_NUMBER Page)
{
//
// TODO
MmCreateVirtualMappingUnsafe(IN PEPROCESS Process,
IN PVOID Address,
IN ULONG Protection,
- IN PPFN_TYPE Pages,
+ IN PPFN_NUMBER Pages,
IN ULONG PageCount)
{
//
MmCreateVirtualMapping(IN PEPROCESS Process,
IN PVOID Address,
IN ULONG Protection,
- IN PPFN_TYPE Pages,
+ IN PPFN_NUMBER Pages,
IN ULONG PageCount)
{
ULONG i;
IN PVOID Address,
IN BOOLEAN FreePage,
OUT PBOOLEAN WasDirty,
- OUT PPFN_TYPE Page)
+ OUT PPFN_NUMBER Page)
{
PMMPTE PointerPte;
MMPTE Pte;
return 0;
}
-PFN_TYPE
+PFN_NUMBER
NTAPI
MmGetPfnForProcess(IN PEPROCESS Process,
IN PVOID Address)
/* TYPES ********************************************************************/
typedef struct _MM_ALLOCATION_REQUEST
{
- PFN_TYPE Page;
+ PFN_NUMBER Page;
LIST_ENTRY ListEntry;
KEVENT Event;
}
NTSTATUS
NTAPI
-MmReleasePageMemoryConsumer(ULONG Consumer, PFN_TYPE Page)
+MmReleasePageMemoryConsumer(ULONG Consumer, PFN_NUMBER Page)
{
PMM_ALLOCATION_REQUEST Request;
PLIST_ENTRY Entry;
NTSTATUS
MmTrimUserMemory(ULONG Target, ULONG Priority, PULONG NrFreedPages)
{
- PFN_TYPE CurrentPage;
- PFN_TYPE NextPage;
+ PFN_NUMBER CurrentPage;
+ PFN_NUMBER NextPage;
NTSTATUS Status;
(*NrFreedPages) = 0;
PsGetCurrentThread() == MiBalancerThreadId.UniqueThread;
}
-VOID NTAPI MiSetConsumer(IN PFN_TYPE Pfn, IN ULONG Consumer);
+VOID NTAPI MiSetConsumer(IN PFN_NUMBER Pfn, IN ULONG Consumer);
NTSTATUS
NTAPI
MmRequestPageMemoryConsumer(ULONG Consumer, BOOLEAN CanWait,
- PPFN_TYPE AllocatedPage)
+ PPFN_NUMBER AllocatedPage)
{
ULONG OldUsed;
- PFN_TYPE Page;
+ PFN_NUMBER Page;
KIRQL OldIrql;
/*
RtlClearAllBits(&MiUserPfnBitMap);
}
-PFN_TYPE
+PFN_NUMBER
NTAPI
MmGetLRUFirstUserPage(VOID)
{
VOID
NTAPI
-MmInsertLRULastUserPage(PFN_TYPE Pfn)
+MmInsertLRULastUserPage(PFN_NUMBER Pfn)
{
KIRQL OldIrql;
KeReleaseQueuedSpinLock(LockQueuePfnLock, OldIrql);
}
-PFN_TYPE
+PFN_NUMBER
NTAPI
-MmGetLRUNextUserPage(PFN_TYPE PreviousPfn)
+MmGetLRUNextUserPage(PFN_NUMBER PreviousPfn)
{
ULONG Position;
KIRQL OldIrql;
VOID
NTAPI
-MmRemoveLRUUserPage(PFN_TYPE Page)
+MmRemoveLRUUserPage(PFN_NUMBER Page)
{
/* Unset the page as a user page */
RtlClearBit(&MiUserPfnBitMap, Page);
VOID
NTAPI
-MmSetRmapListHeadPage(PFN_TYPE Pfn, struct _MM_RMAP_ENTRY* ListHead)
+MmSetRmapListHeadPage(PFN_NUMBER Pfn, struct _MM_RMAP_ENTRY* ListHead)
{
KIRQL oldIrql;
struct _MM_RMAP_ENTRY*
NTAPI
-MmGetRmapListHeadPage(PFN_TYPE Pfn)
+MmGetRmapListHeadPage(PFN_NUMBER Pfn)
{
KIRQL oldIrql;
struct _MM_RMAP_ENTRY* ListHead;
VOID
NTAPI
-MmSetSavedSwapEntryPage(PFN_TYPE Pfn, SWAPENTRY SwapEntry)
+MmSetSavedSwapEntryPage(PFN_NUMBER Pfn, SWAPENTRY SwapEntry)
{
KIRQL oldIrql;
SWAPENTRY
NTAPI
-MmGetSavedSwapEntryPage(PFN_TYPE Pfn)
+MmGetSavedSwapEntryPage(PFN_NUMBER Pfn)
{
SWAPENTRY SwapEntry;
KIRQL oldIrql;
VOID
NTAPI
-MmReferencePage(PFN_TYPE Pfn)
+MmReferencePage(PFN_NUMBER Pfn)
{
PPHYSICAL_PAGE Page;
ULONG
NTAPI
-MmGetReferenceCountPage(PFN_TYPE Pfn)
+MmGetReferenceCountPage(PFN_NUMBER Pfn)
{
KIRQL oldIrql;
ULONG RCount;
BOOLEAN
NTAPI
-MmIsPageInUse(PFN_TYPE Pfn)
+MmIsPageInUse(PFN_NUMBER Pfn)
{
return MiIsPfnInUse(MiGetPfnEntry(Pfn));
}
VOID
NTAPI
-MiSetConsumer(IN PFN_TYPE Pfn,
+MiSetConsumer(IN PFN_NUMBER Pfn,
IN ULONG Type)
{
MiGetPfnEntry(Pfn)->u3.e1.PageLocation = ActiveAndValid;
VOID
NTAPI
-MmDereferencePage(PFN_TYPE Pfn)
+MmDereferencePage(PFN_NUMBER Pfn)
{
PPHYSICAL_PAGE Page;
}
}
-PFN_TYPE
+PFN_NUMBER
NTAPI
MmAllocPage(ULONG Type)
{
- PFN_TYPE PfnOffset;
+ PFN_NUMBER PfnOffset;
PPHYSICAL_PAGE PageDescriptor;
BOOLEAN NeedClear = FALSE;
NTSTATUS
NTAPI
-MiZeroPage(PFN_TYPE Page)
+MiZeroPage(PFN_NUMBER Page)
{
KIRQL Irql;
PVOID TempAddress;
NTSTATUS Status;
KIRQL oldIrql;
PPHYSICAL_PAGE PageDescriptor;
- PFN_TYPE Pfn;
+ PFN_NUMBER Pfn;
ULONG Count;
/* Free initial kernel memory */
{
NTSTATUS Status;
ULONG i, j;
- PFN_TYPE Pfn[2];
+ PFN_NUMBER Pfn[2];
PULONG PageDirectory;
DPRINT("MmCopyMmInfo(Src %x, Dest %x)\n", MinWs, Process);
{
ULONG PdeOffset = ADDR_TO_PDE_OFFSET(Address);
NTSTATUS Status;
- PFN_TYPE Pfn;
+ PFN_NUMBER Pfn;
ULONG Entry;
PULONG Pt, PageDir;
return 0;
}
-PFN_TYPE
+PFN_NUMBER
NTAPI
MmGetPfnForProcess(PEPROCESS Process,
PVOID Address)
VOID
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
*/
VOID
NTAPI
MmDeleteVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN FreePage,
- BOOLEAN* WasDirty, PPFN_TYPE Page)
+ BOOLEAN* WasDirty, PPFN_NUMBER Page)
/*
* FUNCTION: Delete a virtual mapping
*/
{
BOOLEAN WasValid = FALSE;
- PFN_TYPE Pfn;
+ PFN_NUMBER Pfn;
ULONG Pte;
PULONG Pt;
MmCreateVirtualMappingUnsafe(PEPROCESS Process,
PVOID Address,
ULONG flProtect,
- PPFN_TYPE Pages,
+ PPFN_NUMBER Pages,
ULONG PageCount)
{
ULONG Attributes;
MmCreateVirtualMapping(PEPROCESS Process,
PVOID Address,
ULONG flProtect,
- PPFN_TYPE Pages,
+ PPFN_NUMBER Pages,
ULONG PageCount)
{
ULONG i;
{
NTSTATUS Status;
ULONG i, j;
- PFN_TYPE Pfn[7];
+ PFN_NUMBER Pfn[7];
ULONG Count;
DPRINT("MmCopyMmInfo(Src %x, Dest %x)\n", MinWs, Process);
{
PEPROCESS CurrentProcess = PsGetCurrentProcess();
ULONG i;
- PFN_TYPE Pfn;
+ PFN_NUMBER Pfn;
DPRINT("ProcessId %d, Address %x\n", Process->UniqueProcessId, Address);
if (Process != NULL && Process != CurrentProcess)
MmGetPageTableForProcessForPAE(PEPROCESS Process, PVOID Address, BOOLEAN Create)
{
NTSTATUS Status;
- PFN_TYPE Pfn;
+ PFN_NUMBER Pfn;
ULONGLONG Entry;
ULONGLONG ZeroEntry = 0LL;
PULONGLONG Pt;
{
ULONG PdeOffset = ADDR_TO_PDE_OFFSET(Address);
NTSTATUS Status;
- PFN_TYPE Pfn;
+ PFN_NUMBER Pfn;
ULONG Entry;
PULONG Pt, PageDir;
return 0;
}
-PFN_TYPE
+PFN_NUMBER
NTAPI
MmGetPfnForProcess(PEPROCESS Process,
PVOID Address)
VOID
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
*/
VOID
NTAPI
MmDeleteVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN FreePage,
- BOOLEAN* WasDirty, PPFN_TYPE Page)
+ BOOLEAN* WasDirty, PPFN_NUMBER Page)
/*
* FUNCTION: Delete a virtual mapping
*/
{
BOOLEAN WasValid = FALSE;
- PFN_TYPE Pfn;
+ PFN_NUMBER Pfn;
DPRINT("MmDeleteVirtualMapping(%x, %x, %d, %x, %x)\n",
Process, Address, FreePage, WasDirty, Page);
NTAPI
MmCreateVirtualMappingForKernel(PVOID Address,
ULONG flProtect,
- PPFN_TYPE Pages,
+ PPFN_NUMBER Pages,
ULONG PageCount)
{
ULONG Attributes;
MmCreateVirtualMappingUnsafe(PEPROCESS Process,
PVOID Address,
ULONG flProtect,
- PPFN_TYPE Pages,
+ PPFN_NUMBER Pages,
ULONG PageCount)
{
ULONG Attributes;
MmCreateVirtualMapping(PEPROCESS Process,
PVOID Address,
ULONG flProtect,
- PPFN_TYPE Pages,
+ PPFN_NUMBER Pages,
ULONG PageCount)
{
ULONG i;
PVOID
NTAPI
-MmCreateHyperspaceMapping(PFN_TYPE Page)
+MmCreateHyperspaceMapping(PFN_NUMBER Page)
{
PVOID Address;
ULONG i;
return Address;
}
-PFN_TYPE
+PFN_NUMBER
NTAPI
-MmChangeHyperspaceMapping(PVOID Address, PFN_TYPE NewPage)
+MmChangeHyperspaceMapping(PVOID Address, PFN_NUMBER NewPage)
{
- PFN_TYPE Pfn;
+ PFN_NUMBER Pfn;
ASSERT (IS_HYPERSPACE(Address));
if (Ke386Pae)
{
return Pfn;
}
-PFN_TYPE
+PFN_NUMBER
NTAPI
MmDeleteHyperspaceMapping(PVOID Address)
{
- PFN_TYPE Pfn;
+ PFN_NUMBER Pfn;
ASSERT (IS_HYPERSPACE(Address));
if (Ke386Pae)
{
{
BOOLEAN Dirty = FALSE;
SWAPENTRY SwapEntry = 0;
- PFN_TYPE Page = 0;
+ PFN_NUMBER Page = 0;
if (MmIsPageSwapEntry(Process, (PVOID)Address))
{
for (i = 0; i < PAGE_ROUND_UP(Length) / PAGE_SIZE; i++)
{
- PFN_TYPE Page;
+ PFN_NUMBER Page;
Status = MmRequestPageMemoryConsumer(Consumer, TRUE, &Page);
if (!NT_SUCCESS(Status))
MmCommitPagedPoolAddress(PVOID Address, BOOLEAN Locked)
{
NTSTATUS Status;
- PFN_TYPE AllocatedPage;
+ PFN_NUMBER AllocatedPage;
Status = MmRequestPageMemoryConsumer(MC_PPOOL, FALSE, &AllocatedPage);
if (!NT_SUCCESS(Status))
VOID
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? */
Mdl->MdlFlags |= MDL_IO_PAGE_READ;
NTSTATUS
NTAPI
-MmWriteToSwapPage(SWAPENTRY SwapEntry, PFN_TYPE Page)
+MmWriteToSwapPage(SWAPENTRY SwapEntry, PFN_NUMBER Page)
{
ULONG i, offset;
LARGE_INTEGER file_offset;
NTSTATUS
NTAPI
-MmReadFromSwapPage(SWAPENTRY SwapEntry, PFN_TYPE Page)
+MmReadFromSwapPage(SWAPENTRY SwapEntry, PFN_NUMBER Page)
{
ULONG i, offset;
LARGE_INTEGER file_offset;
return Addr;
}
-PFN_TYPE
+PFN_NUMBER
NTAPI
MmGetPfnForProcess(PEPROCESS Process,
PVOID Address)
{
- return((PFN_TYPE)MmGetPhysicalAddressProcess(Process, Address) >> PAGE_SHIFT);
+ return((PFN_NUMBER)MmGetPhysicalAddressProcess(Process, Address) >> PAGE_SHIFT);
}
VOID
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
*/
VOID
NTAPI
MmDeleteVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN FreePage,
- BOOLEAN* WasDirty, PPFN_TYPE Page)
+ BOOLEAN* WasDirty, PPFN_NUMBER Page)
/*
* FUNCTION: Delete a virtual mapping
*/
NTAPI
MmCreateVirtualMappingForKernel(PVOID Address,
ULONG flProtect,
- PPFN_TYPE Pages,
+ PPFN_NUMBER Pages,
ULONG PageCount)
{
ULONG i;
MmCreateVirtualMappingUnsafe(PEPROCESS Process,
PVOID Address,
ULONG flProtect,
- PPFN_TYPE Pages,
+ PPFN_NUMBER Pages,
ULONG PageCount)
{
ULONG Attributes;
MmCreateVirtualMapping(PEPROCESS Process,
PVOID Address,
ULONG flProtect,
- PPFN_TYPE Pages,
+ PPFN_NUMBER Pages,
ULONG PageCount)
{
ULONG i;
PVOID
NTAPI
-MmCreateHyperspaceMapping(PFN_TYPE Page)
+MmCreateHyperspaceMapping(PFN_NUMBER Page)
{
PVOID Address;
ppc_map_info_t info = { 0 };
return Address;
}
-PFN_TYPE
+PFN_NUMBER
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 };
info.proc = 0;
return NewPage;
}
-PFN_TYPE
+PFN_NUMBER
NTAPI
MmDeleteHyperspaceMapping(PVOID Address)
{
MmuUnmapPage(&info, 1);
- return (PFN_TYPE)info.phys;
+ return (PFN_NUMBER)info.phys;
}
VOID
}
/* Use our primitive allocator */
-PFN_TYPE MmPPCPrimitiveAllocPage()
+PFN_NUMBER MmPPCPrimitiveAllocPage()
{
paddr_t Result = MmuGetPage();
DbgPrint("Got Page %x\n", Result);
NTSTATUS
NTAPI
-MmWritePagePhysicalAddress(PFN_TYPE Page)
+MmWritePagePhysicalAddress(PFN_NUMBER Page)
{
PMM_RMAP_ENTRY entry;
PMEMORY_AREA MemoryArea;
NTSTATUS
NTAPI
-MmPageOutPhysicalAddress(PFN_TYPE Page)
+MmPageOutPhysicalAddress(PFN_NUMBER Page)
{
PMM_RMAP_ENTRY entry;
PMEMORY_AREA MemoryArea;
VOID
NTAPI
-MmSetCleanAllRmaps(PFN_TYPE Page)
+MmSetCleanAllRmaps(PFN_NUMBER Page)
{
PMM_RMAP_ENTRY current_entry;
VOID
NTAPI
-MmSetDirtyAllRmaps(PFN_TYPE Page)
+MmSetDirtyAllRmaps(PFN_NUMBER Page)
{
PMM_RMAP_ENTRY current_entry;
BOOLEAN
NTAPI
-MmIsDirtyPageRmap(PFN_TYPE Page)
+MmIsDirtyPageRmap(PFN_NUMBER Page)
{
PMM_RMAP_ENTRY current_entry;
VOID
NTAPI
-MmInsertRmap(PFN_TYPE Page, PEPROCESS Process,
+MmInsertRmap(PFN_NUMBER Page, PEPROCESS Process,
PVOID Address)
{
PMM_RMAP_ENTRY current_entry;
VOID
NTAPI
-MmDeleteAllRmaps(PFN_TYPE Page, PVOID Context,
+MmDeleteAllRmaps(PFN_NUMBER Page, PVOID Context,
VOID (*DeleteMapping)(PVOID Context, PEPROCESS Process,
PVOID Address))
{
VOID
NTAPI
-MmDeleteRmap(PFN_TYPE Page, PEPROCESS Process,
+MmDeleteRmap(PFN_NUMBER Page, PEPROCESS Process,
PVOID Address)
{
PMM_RMAP_ENTRY current_entry, previous_entry;
PFILE_OBJECT FileObject;
PBCB Bcb;
SWAPENTRY SavedSwapEntry;
- PFN_TYPE Page;
+ PFN_NUMBER Page;
BOOLEAN IsImageSection;
ULONG FileOffset;
NTSTATUS
NTAPI
-MiCopyFromUserPage(PFN_TYPE DestPage, PVOID SourceAddress)
+MiCopyFromUserPage(PFN_NUMBER DestPage, PVOID SourceAddress)
{
PEPROCESS Process;
KIRQL Irql;
NTAPI
MiReadPage(PMEMORY_AREA MemoryArea,
ULONG SegOffset,
- PPFN_TYPE Page)
+ PPFN_NUMBER Page)
/*
* FUNCTION: Read a page for a section backed memory area.
* PARAMETERS:
BOOLEAN Locked)
{
ULONG Offset;
- PFN_TYPE Page;
+ PFN_NUMBER Page;
NTSTATUS Status;
PVOID PAddress;
PROS_SECTION_OBJECT Section;
{
PMM_SECTION_SEGMENT Segment;
PROS_SECTION_OBJECT Section;
- PFN_TYPE OldPage;
- PFN_TYPE NewPage;
+ PFN_NUMBER OldPage;
+ PFN_NUMBER NewPage;
NTSTATUS Status;
PVOID PAddress;
ULONG Offset;
{
MM_SECTION_PAGEOUT_CONTEXT* PageOutContext;
BOOLEAN WasDirty;
- PFN_TYPE Page;
+ PFN_NUMBER Page;
PageOutContext = (MM_SECTION_PAGEOUT_CONTEXT*)Context;
if (Process)
PVOID Address,
PMM_PAGEOP PageOp)
{
- PFN_TYPE Page;
+ PFN_NUMBER Page;
MM_SECTION_PAGEOUT_CONTEXT Context;
SWAPENTRY SwapEntry;
ULONG Entry;
ULONG Offset;
PROS_SECTION_OBJECT Section;
PMM_SECTION_SEGMENT Segment;
- PFN_TYPE Page;
+ PFN_NUMBER Page;
SWAPENTRY SwapEntry;
ULONG Entry;
BOOLEAN Private;
{
ULONG Offset;
ULONG Entry;
- PFN_TYPE Page;
+ PFN_NUMBER Page;
Offset = (ULONG_PTR)Address - (ULONG_PTR)MemoryArea->StartingAddress
+ MemoryArea->Data.SectionData.ViewOffset;
ULONG Offset;
ULONG Entry;
ULONG SavedSwapEntry;
- PFN_TYPE Page;
+ PFN_NUMBER Page;
Page = 0;
static VOID
MmFreeSectionPage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
- PFN_TYPE Page, SWAPENTRY SwapEntry, BOOLEAN Dirty)
+ PFN_NUMBER Page, SWAPENTRY SwapEntry, BOOLEAN Dirty)
{
ULONG Entry;
PFILE_OBJECT FileObject;