Chinaunix首页 | 论坛 | 博客
  • 博客访问: 111539
  • 博文数量: 27
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 880
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-06 21:18
文章分类

全部博文(27)

文章存档

2011年(1)

2009年(3)

2008年(23)

我的朋友
最近访客

分类: LINUX

2009-04-25 02:17:17

一 ioremap

ioremap 与__ioremap的区别 

                                      

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空间;

ioremap 依靠 __ioremap实现,它只是在__ioremap中以第三个参数为0调用来实现.

阅读(1441) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~