page mapping in l4linux

jangwoo jwrho at naver.com
Mon Feb 20 09:34:32 CET 2012


Hi all.

 

I have question about mapping memory page in l4linux.

I think “dma_map_page” function seem malfunction in below code.

 

struct page *new_page;

u32 linux_phys_addr;

 

new_page = alloc_page(GFP_HIGHUSER | __GFP_ZERO | __GFP_NORETRY |
__GFP_NOWARN | __GFP_COLD);

linux_phys_addr = dma_map_page(NULL, new_page, 0, PAGE_SIZE,
DMA_BIDIRECTIONAL); ////// PAGE_SIZE is 4KB

 

_______________________________________________________________

new_page   |    linux_phys_addr   | correct linux_phys_addr |

----------------|----------------------------|------------------------------
|

0xe54b20           0x325d9000           0x48b54b20

0xe54b40           0x325da000           0x48b54b40

0xe54b60           0x325db000           0x48b54b60

 

as H/W ram-base is 0x40000000, 0x30000000 base address can’t be mapped.

 

Does anybody know a way to work dma_map_page?

 

Best.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20120220/e9ddda0b/attachment.html>


More information about the l4-hackers mailing list