kernel/eka/memmodel/epoc/flexible/mmu/mpager.h
changeset 109 b3a1d9898418
parent 102 ef2a444a7410
child 152 657f875b013e
equal deleted inserted replaced
102:ef2a444a7410 109:b3a1d9898418
    19 */
    19 */
    20 
    20 
    21 #ifndef MPAGER_H
    21 #ifndef MPAGER_H
    22 #define MPAGER_H
    22 #define MPAGER_H
    23 
    23 
       
    24 #include "mmu.h"
    24 #include <kern_priv.h>
    25 #include <kern_priv.h>
    25 
    26 
    26 /**
    27 /**
    27 Maximum number of pages to attempt to clean in one go.
    28 Maximum number of pages to attempt to clean in one go.
    28 */
    29 */
   144 	/**
   145 	/**
   145 	Flush (unmap) all memory which is demand paged.
   146 	Flush (unmap) all memory which is demand paged.
   146 	This reduces the live page list to a minimum.
   147 	This reduces the live page list to a minimum.
   147 	*/
   148 	*/
   148 	void FlushAll();
   149 	void FlushAll();
       
   150 
       
   151 	/**
       
   152 	Flush demand paged pages in a specified region.
       
   153 
       
   154 	The memory must reside in a single memory object.
       
   155 	
       
   156 	@param aProcess The process containing the pages to flush.
       
   157 	@param aStart   The start address of the region.
       
   158 	@param aSize    The size of the region in bytes.
       
   159 
       
   160 	@return KErrBadDescriptor If the memory region is invalid or spans more than one memory object,
       
   161 	                          otherwise KErrNone.
       
   162 	*/
       
   163 	TInt FlushRegion(DMemModelProcess* aProcess, TLinAddr aStartAddress, TUint aSize);
   149 
   164 
   150 	/**
   165 	/**
   151 	Give pages to paging system for managing.
   166 	Give pages to paging system for managing.
   152 	*/
   167 	*/
   153 	void DonatePages(TUint aCount, TPhysAddr* aPages);
   168 	void DonatePages(TUint aCount, TPhysAddr* aPages);