kernel/eka/memmodel/epoc/flexible/mmu/mpagearray.h
branchRCL_3
changeset 41 0ffb4e86fcc9
parent 22 2f92ad2dc5db
--- a/kernel/eka/memmodel/epoc/flexible/mmu/mpagearray.h	Mon Jun 21 17:12:14 2010 +0300
+++ b/kernel/eka/memmodel/epoc/flexible/mmu/mpagearray.h	Thu Jul 15 20:11:42 2010 +0300
@@ -165,18 +165,6 @@
 		}
 
 	/**
-	Page moving has ended so set the page back to committed if no other 
-	operation has occurred/is occurring.
-
-	@param aEntry		A reference to the entry to update.
-	*/
-	static FORCE_INLINE void MovePageEnd(TPhysAddr& aEntry)
-		{
-		if (State(aEntry) == EMoving)
-			aEntry = (aEntry & ~EStateMask) | ECommitted;
-		}
-
-	/**
 	Update the physical address in the array entry \a aEntry.
 	@param aEntry		A reference to the entry to update.
 	@param aPhysAddr	The new physical address.
@@ -416,6 +404,17 @@
 	*/
 	TPhysAddr* MovePageStart(TUint aIndex, TIter& aPageList);
 
+
+	/**
+	Page moving has ended so set the page back to committed if no other 
+	operation has occurred/is occurring.
+
+	@param aEntry		A reference to the entry to update.
+	@param aIndex		The index of the page that was moved.
+	*/
+	void MovePageEnd(TPhysAddr& aEntry, TUint aIndex);
+
+
 	/**
 	Return the array entry for index \a aIndex.
 	*/
@@ -861,4 +860,12 @@
 	MmuLock::Unlock();
 	}
 
+FORCE_INLINE void RPageArray::MovePageEnd(TPhysAddr& aEntry, TUint aIndex)
+	{
+	__NK_ASSERT_DEBUG(PageEntry(aIndex) == &aEntry);
+	if (State(aEntry) == EMoving)
+		aEntry = (aEntry & ~EStateMask) | ECommitted;
+	ReleasePage(aIndex, 0);
+	}
+
 #endif