--- 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);
};