diff -r 41f0cfe18c80 -r c734af59ce98 kernel/eka/include/memmodel/epoc/mmubase/ramalloc.h --- a/kernel/eka/include/memmodel/epoc/mmubase/ramalloc.h Tue Apr 27 18:02:57 2010 +0300 +++ b/kernel/eka/include/memmodel/epoc/mmubase/ramalloc.h Tue May 11 17:28:22 2010 +0300 @@ -142,8 +142,14 @@ void FreeRamPages(TPhysAddr* aPageList, TInt aNumPages, TZonePageType aType); TInt AllocRamPages(TPhysAddr* aPageList, TInt aNumPages, TZonePageType aType, TUint aBlockedZoneId=KRamZoneInvalidId, TBool aBlockRest=EFalse); TInt ZoneAllocRamPages(TUint* aZoneIdList, TUint aZoneIdCount, TPhysAddr* aPageList, TInt aNumPages, TZonePageType aType); - TInt AllocContiguousRam(TUint aNumPages, TPhysAddr& aPhysAddr, TZonePageType aType, TInt aAlign=0, TUint aBlockZoneId=KRamZoneInvalidId, TBool aBlockRest=EFalse); - TInt ZoneAllocContiguousRam(TUint* aZoneIdList, TUint aZoneIdCount, TInt aSize, TPhysAddr& aPhysAddr, TZonePageType aType, TInt aAlign); + TInt AllocContiguousRam(TUint aNumPages, TPhysAddr& aPhysAddr, TInt aAlign=0); +#if !defined(__MEMMODEL_MULTIPLE__) && !defined(__MEMMODEL_MOVING__) + void BlockContiguousRegion(TPhysAddr aAddrBase, TUint aNumPages); + void UnblockSetAllocRuns(TUint& aOffset1, TUint& aOffset2, TUint aRunLength1, TUint aRunLength2, TUint& aAllocLength, TUint& aAllocStart); + void UnblockContiguousRegion(TPhysAddr aAddrBase, TUint aNumPages); + TBool ClearContiguousRegion(TPhysAddr aAddrBase, TPhysAddr aZoneBase, TUint aNumPages, TInt& aOffset); +#endif + TInt ZoneAllocContiguousRam(TUint* aZoneIdList, TUint aZoneIdCount, TInt aSize, TPhysAddr& aPhysAddr, TInt aAlign); #ifdef _DEBUG void DebugDump(); #endif @@ -158,6 +164,7 @@ TInt GetZoneAddress(TUint aZoneId, TPhysAddr& aPhysBase, TUint& aNumPages); TInt HalFunction(TInt aFunction, TAny* a1, TAny* a2); TInt NextAllocatedPage(SZone* aZone, TUint& aOffset, TZonePageType aType) const; + TInt NextAllocatedRun(SZone* aZone, TUint& aOffset, TUint aEndOffset, TZonePageType aType) const; TUint GenDefragFreePages(TZonePageType aType) const; SZone* GeneralDefragStart0(TGenDefragStage& aStage, TUint& aRequiredToBeDiscarded); SZone* GeneralDefragNextZone0(); @@ -205,9 +212,7 @@ SDblQueLink* iZoneGeneralPrefLink; /**< Link to the current RAM zone being defragged*/ SDblQueLink* iZoneGeneralTmpLink; /**< Link to the current RAM zone being defragged*/ TUint iZoneGeneralStage; /**< The current stage of any general defrag operation*/ -#ifdef _DEBUG - TBool iAllowBmaVerify; -#endif + TUint iContiguousReserved; /**< The count of the number of separate contiguous allocations that have reserved pages*/ }; #endif