ULONG MmNumberOfPagingFiles;
/* Number of pages that are available for swapping */
-ULONG MiFreeSwapPages;
+PFN_COUNT MiFreeSwapPages;
/* Number of pages that have been allocated for swapping */
-ULONG MiUsedSwapPages;
+PFN_COUNT MiUsedSwapPages;
+
+BOOLEAN MmZeroPageFile;
/*
* Number of pages that have been reserved for swapping but not yet allocated
*/
-static ULONG MiReservedSwapPages;
+static PFN_COUNT MiReservedSwapPages;
/*
* Ratio between reserved and available swap pages, e.g. setting this to five
*/
#define FILE_FROM_ENTRY(i) ((i) & 0x0f)
#define OFFSET_FROM_ENTRY(i) ((i) >> 11)
-#define ENTRY_FROM_FILE_OFFSET(i, j) ((i) | (j) << 11 | 0x400)
+#define ENTRY_FROM_FILE_OFFSET(i, j) ((i) | ((j) << 11) | 0x400)
static BOOLEAN MmSwapSpaceMessage = FALSE;
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;
}
BOOLEAN
NTAPI
-MmIsFileAPagingFile(PFILE_OBJECT FileObject)
+MmIsFileObjectAPagingFile(PFILE_OBJECT FileObject)
{
ULONG i;
NTSTATUS
NTAPI
-MmWriteToSwapPage(SWAPENTRY SwapEntry, PFN_TYPE Page)
+MmWriteToSwapPage(SWAPENTRY SwapEntry, PFN_NUMBER Page)
{
- ULONG i, offset;
+ ULONG i;
+ ULONG_PTR offset;
LARGE_INTEGER file_offset;
IO_STATUS_BLOCK Iosb;
NTSTATUS Status;
KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, NULL);
Status = Iosb.Status;
}
-
+
if (Mdl->MdlFlags & MDL_MAPPED_TO_SYSTEM_VA)
{
MmUnmapLockedPages (Mdl->MappedSystemVa, Mdl);
NTSTATUS
NTAPI
-MmReadFromSwapPage(SWAPENTRY SwapEntry, PFN_TYPE Page)
+MmReadFromSwapPage(SWAPENTRY SwapEntry, PFN_NUMBER Page)
{
- ULONG i, offset;
+ ULONG i;
+ ULONG_PTR offset;
LARGE_INTEGER file_offset;
IO_STATUS_BLOCK Iosb;
NTSTATUS Status;
MmFreeSwapPage(SWAPENTRY Entry)
{
ULONG i;
- ULONG off;
+ ULONG_PTR off;
KIRQL oldIrql;
i = FILE_FROM_ENTRY(Entry);