kernel/eka/include/memmodel/epoc/mmubase/ramalloc.h
branchRCL_3
changeset 110 c734af59ce98
parent 87 2f92ad2dc5db
child 117 5b5d147c7838
--- 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