免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1749 | 回复: 7
打印 上一主题 下一主题

[内存管理] 该如何将虚拟地址转换为物理地址? [复制链接]

论坛徽章:
6
季节之章:冬
日期:2015-01-20 17:18:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2015-12-20 06:20:00程序设计版块每日发帖之星
日期:2016-06-09 06:20:00每日论坛发贴之星
日期:2016-06-09 06:20:002016科比退役纪念章
日期:2017-01-12 14:08:57
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-04-13 11:32 |只看该作者 |倒序浏览
假设用户在用户空间分配了一块内存作为缓冲区,为了进行DMA操作,需要将其转换为物理地址。请问:该如何将虚拟地址转换为物理地址?

论坛徽章:
0
2 [报告]
发表于 2014-04-13 14:28 来自手机 |只看该作者
如果设备底层驱动支持,可以通过mmap方式访问

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
3 [报告]
发表于 2014-04-14 09:07 |只看该作者
这个好像没有现成的接口,搜一下,本版中已经有现成的代码。

论坛徽章:
6
季节之章:冬
日期:2015-01-20 17:18:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2015-12-20 06:20:00程序设计版块每日发帖之星
日期:2016-06-09 06:20:00每日论坛发贴之星
日期:2016-06-09 06:20:002016科比退役纪念章
日期:2017-01-12 14:08:57
4 [报告]
发表于 2014-04-14 20:59 |只看该作者
humjb_1983 发表于 2014-04-14 09:07
这个好像没有现成的接口,搜一下,本版中已经有现成的代码。


谢谢!我只找到瀚海书香的原理性解释,没找到代码。我现在最需要的就是参考代码。您能告诉我在哪里吗?

论坛徽章:
0
5 [报告]
发表于 2014-04-14 21:27 |只看该作者
我怎么觉得应该在内核空间申请好,用户空间去映射。

你这个用户空间申请的,都不能保证是不是低端物理内存。

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
6 [报告]
发表于 2014-04-15 08:37 |只看该作者
liklstar 发表于 2014-04-14 20:59
谢谢!我只找到瀚海书香的原理性解释,没找到代码。我现在最需要的就是参考代码。您能告诉我在哪里吗?

http://bbs.chinaunix.net/forum.p ... ;page=1#pid24034356

论坛徽章:
6
季节之章:冬
日期:2015-01-20 17:18:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2015-12-20 06:20:00程序设计版块每日发帖之星
日期:2016-06-09 06:20:00每日论坛发贴之星
日期:2016-06-09 06:20:002016科比退役纪念章
日期:2017-01-12 14:08:57
7 [报告]
发表于 2014-04-15 11:40 |只看该作者
azfa123 发表于 2014-04-14 21:27
我怎么觉得应该在内核空间申请好,用户空间去映射。

你这个用户空间申请的,都不能保证是不是低端物理内 ...


谢谢你的回复。
为什么一定要低端内存呢?我记得内核是分配在低端内存,可我要求的是用户空间啊?

论坛徽章:
17
水瓶座
日期:2013-08-29 12:09:27白羊座
日期:2014-08-07 12:36:42丑牛
日期:2014-07-24 12:44:41寅虎
日期:2014-04-16 16:15:33寅虎
日期:2014-03-12 09:28:43摩羯座
日期:2014-03-06 13:22:04技术图书徽章
日期:2014-03-06 11:34:50天蝎座
日期:2014-01-09 11:31:44寅虎
日期:2013-12-27 17:01:44双子座
日期:2013-12-27 12:32:29双子座
日期:2013-12-25 09:03:33丑牛
日期:2013-12-24 16:18:44
8 [报告]
发表于 2014-04-15 11:58 |只看该作者
回复 7# liklstar

有的设备能访问的物理地址空间有限制,struct device->dma_mask就是干这事的。

不然也不用有什么 ZONE_DMA了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP