首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ioremap_page_range与vmap_page_range的区别

ioremap_page_range与vmap_page_range的区别
EN

Stack Overflow用户
提问于 2014-03-06 09:18:00
回答 1查看 695关注 0票数 1

这可能是一个非常基本的问题,但我正在尝试理解ioremap_page_range()和vmap_page_range()之间的区别。两者似乎都将物理地址映射到虚拟地址(在新分配的VM区域中)。

这两个函数每个都有4个参数,其中3个是相同的。ioremap_page_range接受一个phys_addr_t,vmap_page_range接受一个页面(帧)指针数组。

我的问题是,这些函数可以互换使用(假设我处理了第4个不同的参数),或者这些函数实现的功能有什么不同?

任何指向解释这些功能的文本或链接的特定指针都将非常有帮助。

EN

回答 1

Stack Overflow用户

发布于 2014-03-06 09:33:37

实现是完全相同的,理论上你可以使用两者来创建一个内存映射。但是,ioremap是用来映射IO资源的,它不是linux内核中的物理页面,应该使用vmap_page_range来映射存在于页池中的物理内存(内存区域)。顺便说一下,映射属性值在使用时通常是不同的。(例如,缓存或未缓存...)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22212904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档