kernel/eka/include/kernel/kern_priv.h
branchRCL_3
changeset 28 5b5d147c7838
parent 26 c734af59ce98
child 43 c1f20ce4abcf
--- a/kernel/eka/include/kernel/kern_priv.h	Tue May 11 17:28:22 2010 +0300
+++ b/kernel/eka/include/kernel/kern_priv.h	Tue May 25 14:09:55 2010 +0300
@@ -2757,6 +2757,22 @@
 class M
 	{
 public:
+	/**
+	Flags to control the moving or discarding of a page via the methods M::DiscardPage(),
+	M::MovePage()and M::MoveAndAllocPage().
+	*/
+	enum TMoveDiscardFlags
+		{
+		/** Set this flag so dirty discardable page are moved rather than 
+			written to swap.
+		*/
+		EMoveDisMoveDirty = 0x1,
+		/** Set this so the attempt to allocate the location to move the page to 
+			will fail if the blocked RAM zone is reached.
+		*/
+		EMoveDisBlockRest = 0x2,
+		};
+
 	static void Init1();
 	static void Init2();
 #ifdef __SMP__
@@ -2803,9 +2819,10 @@
 	static void RamAllocIsLocked();
 	static TUint NumberOfFreeDpPages();
 	static TUint NumberOfDirtyDpPages();
-	static TInt MovePage(TPhysAddr aOld, TPhysAddr& aNew, TUint aBlockZoneId, TBool aBlockRest);
+	static TInt MovePage(TPhysAddr aOld, TPhysAddr& aNew, TUint aBlockZoneId, TUint aMoveDisFlags);
 	static TInt MoveAndAllocPage(TPhysAddr aAddr, TZonePageType aPageType);
-	static TInt DiscardPage(TPhysAddr aAddr, TUint aBlockZoneId, TBool aBlockRest);
+	static TInt DiscardPage(TPhysAddr aAddr, TUint aBlockZoneId, TUint aMoveDisFlags);
+	static TBool GetFreePages(TUint aNumPages);
 	static void RamZoneClaimed(SZone* aZone);
 	static TInt RamDefragFault(TAny* aExceptionInfo);
 	};