kerneltest/e32test/dmav2/d_dma2_cmn.cpp
changeset 247 d8d70de2bd36
parent 139 95f71bcdcdb7
equal deleted inserted replaced
201:43365a9b78a3 247:d8d70de2bd36
    15 * to both user and kernel side
    15 * to both user and kernel side
    16 *
    16 *
    17 */
    17 */
    18 #ifdef __KERNEL_MODE__
    18 #ifdef __KERNEL_MODE__
    19 #include <platform.h>
    19 #include <platform.h>
       
    20 
       
    21 #ifdef __DMASIM__
       
    22 #ifdef __WINS__
       
    23 typedef TLinAddr TPhysAddr;
       
    24 #endif
       
    25 static inline TPhysAddr LinToPhys(TLinAddr aLin) {return aLin;}
       
    26 #else
       
    27 static inline TPhysAddr LinToPhys(TLinAddr aLin) {return Epoc::LinearToPhysical(aLin);}
       
    28 #endif
    20 #endif
    29 #endif
    21 
    30 
    22 #include "d_dma2.h"
    31 #include "d_dma2.h"
       
    32 
    23 
    33 
    24 TInt Log2(TInt aNum)
    34 TInt Log2(TInt aNum)
    25 	{
    35 	{
    26 	TInt res = -1;
    36 	TInt res = -1;
    27 	while(aNum)
    37 	while(aNum)
   238 	if(iSrcAddr != KPhysAddrInvalidUser)
   248 	if(iSrcAddr != KPhysAddrInvalidUser)
   239 		{
   249 		{
   240 		iSrcAddr += aChunkBase;
   250 		iSrcAddr += aChunkBase;
   241 
   251 
   242 #ifdef __KERNEL_MODE__
   252 #ifdef __KERNEL_MODE__
   243 		iSrcAddr = Epoc::LinearToPhysical(iSrcAddr);
   253 		iSrcAddr = LinToPhys(iSrcAddr);
   244 		TEST_ASSERT(iSrcAddr != KPhysAddrInvalid);
   254 		TEST_ASSERT(iSrcAddr != KPhysAddrInvalid);
   245 #endif
   255 #endif
   246 		}
   256 		}
   247 #ifndef __KERNEL_MODE__
   257 #ifndef __KERNEL_MODE__
   248 	else
   258 	else
   256 	if(iDstAddr != KPhysAddrInvalidUser)
   266 	if(iDstAddr != KPhysAddrInvalidUser)
   257 		{
   267 		{
   258 		iDstAddr += aChunkBase;
   268 		iDstAddr += aChunkBase;
   259 
   269 
   260 #ifdef __KERNEL_MODE__
   270 #ifdef __KERNEL_MODE__
   261 		iDstAddr = Epoc::LinearToPhysical(iDstAddr);
   271 		iDstAddr = LinToPhys(iDstAddr);
   262 		TEST_ASSERT(iDstAddr != KPhysAddrInvalid);
   272 		TEST_ASSERT(iDstAddr != KPhysAddrInvalid);
   263 #endif
   273 #endif
   264 		}
   274 		}
   265 #ifndef __KERNEL_MODE__
   275 #ifndef __KERNEL_MODE__
   266 	else
   276 	else
   319 	}
   329 	}
   320 
   330 
   321 void TAddressParms::MakePhysical()
   331 void TAddressParms::MakePhysical()
   322 	{
   332 	{
   323 #ifdef __KERNEL_MODE__
   333 #ifdef __KERNEL_MODE__
   324 	iSrcAddr = Epoc::LinearToPhysical(iSrcAddr);
   334 	iSrcAddr = LinToPhys(iSrcAddr);
   325 	TEST_ASSERT(iSrcAddr != KPhysAddrInvalid);
   335 	TEST_ASSERT(iSrcAddr != KPhysAddrInvalid);
   326 	iDstAddr = Epoc::LinearToPhysical(iDstAddr);
   336 	iDstAddr = LinToPhys(iDstAddr);
   327 	TEST_ASSERT(iDstAddr != KPhysAddrInvalid);
   337 	TEST_ASSERT(iDstAddr != KPhysAddrInvalid);
   328 #else
   338 #else
   329 	TEST_FAULT;
   339 	TEST_FAULT;
   330 #endif
   340 #endif
   331 	}
   341 	}
   383 */
   393 */
   384 TBool TIsrRequeArgs::CheckRange(TLinAddr aStart, TUint aSize) const
   394 TBool TIsrRequeArgs::CheckRange(TLinAddr aStart, TUint aSize) const
   385 	{
   395 	{
   386 	TUint chunkStart = 0;
   396 	TUint chunkStart = 0;
   387 #ifdef __KERNEL_MODE__
   397 #ifdef __KERNEL_MODE__
   388 	chunkStart = Epoc::LinearToPhysical(aStart);
   398 	chunkStart = LinToPhys(aStart);
   389 	TEST_ASSERT(chunkStart != KPhysAddrInvalid);
   399 	TEST_ASSERT(chunkStart != KPhysAddrInvalid);
   390 #else
   400 #else
   391 	chunkStart = aStart;
   401 	chunkStart = aStart;
   392 #endif
   402 #endif
   393 
   403