请问一个关于内存驱动的问题

blossom007cn 2006-12-26 10:37:05
在grub.conf文件中设定一块系统不使用的内存,我的内存大小为512M,所以在grub.conf中设定mem=480M,在这块不使用的内存上做一个字符型驱动,好映射到应用程序的用户空间。
我内核的版本为2.6.5,驱动中映射函数中调用
if (remap_page_range(vma, vma->vm_start, phy_add, vsize,
vma->vm_page_prot)) {
return -EAGAIN;
}
实现映射,其中phy_add为物理地址0x1e000000。
在用户空间的程序映射这段内存后(buf = (char *)mmap(0, count, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0),其中count为1M,fd为字符设备文件),使用这个buf往硬盘文件中写入数据时就死机。
小弟初涉linux驱动编程,请各位大虾帮帮忙啊,谢谢啦!!!
...全文
157 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
blossom007cn 2006-12-26
  • 打赏
  • 举报
回复
对了,映射是成功的,那块内存中的数据能够读出来
但就是用那个buf往文件中写时就死机

4,438

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧