equal
deleted
inserted
replaced
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 |