请问一个关于内存驱动的问题
在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驱动编程,请各位大虾帮帮忙啊,谢谢啦!!!