--- a/kernel/eka/include/drivers/locmedia.h Wed Jun 23 11:59:44 2010 +0100
+++ b/kernel/eka/include/drivers/locmedia.h Wed Jun 23 12:52:28 2010 +0100
@@ -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;