内存映射设备后,就可以直接访问设备的片内内存 了(比如显卡的显存)?
内存映射设备后,就可以直接访问设备的片内内存 了(比如显卡的显存)?
比如我有一个类似于显卡的PCI设备,上面有256M显存,我在driver里用ioremap把显存的虚拟地址得到后,当用户端mmap(),我driver里面的nopage()得以响应,我直接返回显存的page结构体,这样是不是就能让用户直接读写我设备的IO内存?
内存映射到设备的好处是这样吗
------解决方案--------------------
nopage是缺页异常的处理函数
mmap只是地址得到了重新映射,没有多大的关系吧。
只有当访问mmap得到的地址时,发现还没有分配物理地址,才会引起缺页异常,导致nopage被访问。