版块
论坛
喜欢
话题
应用
搜索
登录
注册
brucezh的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=15409
如何在module中申请物理连续的大块内存?
要做一个内核态module,负责申请一块几兆大小的物理连续的内存块,用作外设的DMA缓冲区。同时使应用程序可以对该内存进行读写。应该用什么机制获得该内存呢?查阅资料,kmalloc可以分配物理连续的内存,可是最大只能申请128K。那如何获得这个物理连续的大内存块呢?
回复
(
3
)
2004-12-30 17:02
来自版块 -
LINUX&UNIX核心开发
◆
◆
表情
告诉我的粉丝
提 交
brucezh
:
找到了,__get_free_pages 在2.0版本之后可以申请最大到2M的物理连续的内存。
(2004-12-31 10:44)
回复
brucezh
:
难道必须用kmalloc才能得到物理连续内存吗?可是如果分配大于128K(32pages)的内存,kmalloc是无能为力的。
(2004-12-31 10:35)
回复
yftty
:
kmalloc allocates physically contiguous memory, memory which pages are laid consecutively in physical RAM. vmalloc allocates memory which i...
(2004-12-30 20:02)
回复
brucezh
加关注
写私信
0
关注
0
粉丝
1036
帖子
返回顶部