Chinaunix

标题: 内核读写IO空间的方法 ioremap map_desc [打印本页]

作者: bromi_lu    时间: 2009-04-25 02:17
标题: 内核读写IO空间的方法 ioremap map_desc
一 ioremapioremap 与__ioremap的区别                                                                       
                                 
                                 
[color="#333333"]void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags)
入口: phys_addr:要映射的起始的IO地址;
size:要映射的空间的大小;
flags:要映射的IO空间的和权限有关的标志;
功能: 将一个IO地址空间映射到内核的虚拟地址空间上去,便于访问;

现:
对要映射的IO地址空间进行判断,低PCI/ISA地址不需要重新映射,也不允许用户将IO地址空间映射到正在使用的RAM中,最后申请一个
vm_area_struct结构,调用remap_area_pages填写页表,若填写过程不成功则释放申请的vm_area_struct空间;
[color="#555555"]ioremap 依靠 __ioremap实现,它只是在__ioremap中以第三个参数为0调用来实现.
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/45211/showart_1910274.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2