diff -r 5af6c74cd793 -r af6ec97d9189 kernel/eka/memmodel/epoc/flexible/mmu/mpagearray.h --- a/kernel/eka/memmodel/epoc/flexible/mmu/mpagearray.h Wed Jun 23 11:59:44 2010 +0100 +++ b/kernel/eka/memmodel/epoc/flexible/mmu/mpagearray.h Wed Jun 23 12:52:28 2010 +0100 @@ -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. */ @@ -543,7 +542,7 @@ @param aCount The number of pages to add. @param aPages Pointer to list of \a aCount physical page addresses to add. */ - void Add(TUint aCount, TPhysAddr* aPages); + void Add(TUint aCount, const TPhysAddr* aPages); /** Add contiguous pages to the array, setting each entry state as ECommitted. @@ -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