diff -r 73ea206103e6 -r 43365a9b78a3 kernel/eka/include/drivers/locmedia.h --- a/kernel/eka/include/drivers/locmedia.h Wed Jun 23 19:44:53 2010 +0300 +++ b/kernel/eka/include/drivers/locmedia.h Tue Jul 06 15:50:07 2010 +0300 @@ -385,6 +385,7 @@ EDataPaging=0x40, // a data paging request ETClientBuffer=0x80, // RemoteDes() points to a TClientBuffer EKernelBuffer=0x100, // RemoteDes() points to a kernel-side buffer : set for all paging requests and media extension requests + EPhysAddrOnly=0x200, // No virtual address is available. Data Paging requests Only. }; public: @@ -1039,6 +1040,12 @@ inline static TBool PageInRequest(TLocDrvRequest& aReq); inline static TBool PageOutRequest(TLocDrvRequest& aReq); inline static TBool PagingRequest(TLocDrvRequest& aReq); + + virtual TInt WritePhysical(TThreadMessage* aReq, TPhysAddr* aPageArray, TUint aPageCount, TUint aOffset, TBool aBackground); + virtual TInt ReadPhysical(TThreadMessage* aReq, TPhysAddr* aPageArray, TUint aPageCount, TUint aOffset, TInt aDrvNumber); +private: + virtual TInt BaseRead(TThreadMessage* aReq,TUint32 aBuffer,TUint aOffset,TUint aSize,TInt aDrvNumber,TBool aPhysAddr); + virtual TInt BaseWrite(TThreadMessage* aReq,TUint32 aBuffer,TUint aOffset,TUint aSize, TBool aBackground,TBool aPhysAddr); public: TMessageQue iMainQ; TMessageQue iDeferredQ;