kernel/eka/memmodel/epoc/flexible/mmu/mmu.h
changeset 176 af6ec97d9189
parent 132 e4a7b1cbe40c
--- a/kernel/eka/memmodel/epoc/flexible/mmu/mmu.h	Wed Jun 23 11:59:44 2010 +0100
+++ b/kernel/eka/memmodel/epoc/flexible/mmu/mmu.h	Wed Jun 23 12:52:28 2010 +0100
@@ -571,6 +571,23 @@
 		}
 
 	/**
+	Mark this page as an oldest old page.
+
+	This does not mark the object as modified as conceptually it's still an oldest page.  This means
+	that if a page goes from young -> old -> oldest the second transition will not interrupt the
+	page restriction that happens on the first.
+
+	@pre #MmuLock held.
+	*/
+	FORCE_INLINE void SetOldestPage(TPagedState aPagedState)
+		{
+		CheckAccess("SetPagedState");
+		__NK_ASSERT_DEBUG(iPagedState==EPagedOld);
+		__NK_ASSERT_DEBUG(aPagedState==EPagedOldestClean || aPagedState==EPagedOldestDirty);
+		iPagedState = aPagedState;
+		}
+
+	/**
 	Set the page's #iModifier value.
 
 	#iModifier is cleared to zero whenever the usage or paging state of the page