作者rtes (unbutu)
看板LinuxDev
标题[问题] Linux 实体记忆体
时间Tue Apr 16 01:30:04 2013
小弟有个问题想请教
假设Linux的user层有一支程式Task A想透过共享记忆体沟通
首先申请一块free memory,接着就会将此free memory透过系统提供之mmap映射
到Task A的虚拟空间。
另外如果想利用驱动程式存取memory map io Register,通常会透过ioremap将Register的
实体空间映射到kernel的虚拟空间。
我想请教的问题是有没有函式可以让一般的记忆体(类似刚才提到的free memory)映射到
kernel层的虚拟空间。
谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.227.244.206
1F:→ alongalone:我觉得你可能要重看mmap是用来干嘛得.... 04/16 12:44
2F:→ alongalone:mmap应该就是用来达成你要的功能才对 04/16 12:45
3F:→ alongalone:不好意思我好像看反了.你好像是要反过来做? 04/16 13:25
5F:→ rtes:我查到的文献说明虚拟空间切成两半分 一部分是行程 04/16 13:28
6F:→ rtes:另一部分是Kernel 我想把一般的记忆体映射到kernel那部分 04/16 13:30
7F:→ rtes:还是说映射没有分映射到哪 可是这样又为何有mmap 和ioremap 04/16 13:31
8F:→ rtes:先去阅读您提供的资料 谢谢 04/16 13:33
9F:→ alongalone:ioremap是把phyical转成virtual address. 04/16 23:54
10F:→ alongalone:可是你用alloca()的方式一定是取得virtual; 没啥冲突 04/16 23:55