diff -r c734af59ce98 -r 5b5d147c7838 kernel/eka/memmodel/epoc/flexible/mmu/mdefrag.cpp --- a/kernel/eka/memmodel/epoc/flexible/mmu/mdefrag.cpp Tue May 11 17:28:22 2010 +0300 +++ b/kernel/eka/memmodel/epoc/flexible/mmu/mdefrag.cpp Tue May 25 14:09:55 2010 +0300 @@ -115,14 +115,14 @@ RamAllocLock::Lock(); // Move the page to any RAM zone. - r = M::MovePage(aOld, aNew, KRamZoneInvalidId, EFalse); + r = M::MovePage(aOld, aNew, KRamZoneInvalidId, 0); RamAllocLock::Unlock(); return r; } -TInt M::MovePage(TPhysAddr aOld, TPhysAddr& aNew, TUint aBlockZoneId, TBool aBlockRest) +TInt M::MovePage(TPhysAddr aOld, TPhysAddr& aNew, TUint aBlockZoneId, TUint aMoveDisFlags) { // Returns this when page is not paged or managed or free but is a real RAM page. TInt r = KErrNotSupported; @@ -130,12 +130,12 @@ // get memory object corresponding to the page... DMemoryObject* memory = 0; MmuLock::Lock(); - SPageInfo* pi = SPageInfo::SafeFromPhysAddr(aOld&~KPageMask); - if(pi) + SPageInfo* pi = SPageInfo::SafeFromPhysAddr(aOld & ~KPageMask); + if (pi) { if (pi->PagedState() != SPageInfo::EUnpaged) {// The page is paged so let the pager handle it. - return ThePager.DiscardPage(pi, aBlockZoneId, aBlockRest); + return ThePager.DiscardPage(pi, aBlockZoneId, aMoveDisFlags); } switch (pi->Type()) { @@ -149,7 +149,8 @@ // i.e. we don't need to Open() the memory object. MmuLock::Unlock(); // move page... - r = memory->iManager->MovePage(memory, pi, aNew, aBlockZoneId, aBlockRest); + r = memory->iManager->MovePage( memory, pi, aNew, aBlockZoneId, + (aMoveDisFlags & M::EMoveDisBlockRest)!=0); break; case SPageInfo::EUnused: r = KErrNotFound; // This page is free so nothing to do.