merge trunk rev : 25656 to 0.3.1 branch - fixing my rmap problem in vmware

svn path=/branches/ros-branch-0_3_1/; revision=25665
This commit is contained in:
Magnus Olsen
2007-01-31 17:04:49 +00:00
parent 4fa1eded47
commit 5e2f2fafad
+6 -2
View File
@@ -479,7 +479,9 @@ MmInitializePageList(ULONG_PTR FirstPhysKernelAddress,
MmPageArray[j].Flags.Type = MM_PHYSICAL_PAGE_USED;
MmPageArray[j].Flags.Zero = 0;
MmPageArray[j].Flags.Consumer = MC_NPPOOL;
MmPageArray[j].ReferenceCount = 1;
/* Reference count 2, because we're having ReferenceCount track
MapCount as well. */
MmPageArray[j].ReferenceCount = 2;
MmPageArray[j].MapCount = 1;
InsertTailList(&UsedPageListHeads[MC_NPPOOL],
&MmPageArray[j].ListEntry);
@@ -519,7 +521,7 @@ MmInitializePageList(ULONG_PTR FirstPhysKernelAddress,
MmPageArray[i].Flags.Type = MM_PHYSICAL_PAGE_USED;
MmPageArray[i].Flags.Zero = 0;
MmPageArray[i].Flags.Consumer = MC_NPPOOL;
MmPageArray[i].ReferenceCount = 1;
MmPageArray[i].ReferenceCount = 2;
MmPageArray[i].MapCount = 1;
InsertTailList(&UsedPageListHeads[MC_NPPOOL],
&MmPageArray[i].ListEntry);
@@ -588,6 +590,7 @@ MmMarkPageMapped(PFN_TYPE Pfn)
KEBUGCHECK(0);
}
MmPageArray[Pfn].MapCount++;
MmPageArray[Pfn].ReferenceCount++;
KeReleaseSpinLock(&PageListLock, oldIrql);
}
}
@@ -612,6 +615,7 @@ MmMarkPageUnmapped(PFN_TYPE Pfn)
KEBUGCHECK(0);
}
MmPageArray[Pfn].MapCount--;
MmPageArray[Pfn].ReferenceCount--;
KeReleaseSpinLock(&PageListLock, oldIrql);
}
}