--- a/kernel/eka/include/drivers/locmedia.h Tue May 11 17:28:22 2010 +0300
+++ b/kernel/eka/include/drivers/locmedia.h Tue May 25 14:09:55 2010 +0300
@@ -342,6 +342,7 @@
EDataPaging=0x40, // a data paging request
ETClientBuffer=0x80, // RemoteDes() points to a TClientBuffer
EKernelBuffer=0x100, // RemoteDes() points to a kernel-side buffer
+ EPhysAddrOnly=0x200, // No virtual address is available. Data Paging requests Only.
};
public:
@@ -977,6 +978,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;