ioremap_nocache

来源:互联网 发布:java float 比较大小 编辑:程序博客网 时间:2024/06/10 18:26

ioremap_nocache函数

注解ioremap_nocache

ioremap_nocache 把内存映射到CPU空间  

void __iomem * ioremap_nocache (unsigned long phys_addr, unsigned long size);  

phys_addr
要映射的物理地址 
size
要映射资源的大小 

调用ioremap_nocache()函数之后,返回一个线性地址,此时CPU 可以访问设备的内存(已经将其映射到了线性地址空间中了),此时CPU可以使用访问内存的指令访问设备的内存空间(host bridge 判断访问物理内存还是设备中的内存),此时我们就可以像访问内存一样来访问设备的内存(寄存器)。

ioremap是为一段高端的物理内存建立映射(即增加相关的页表内容),驱动常用
mmap是为可能不连续的一系列逻辑上相关的(如整体是一个文件)物理内存段建立映射,
并呈现一个连续的虚拟地址空间,应用程序常用
mmap是系统调用,只能应用程序用。
ioremap是kernel提供的函数,只能在kernel里用

0 0
原创粉丝点击