我有一个PCI设备,需要从用户空间读写。我正在尝试使用零拷贝;有没有一种方法可以完全在用户空间内分配、固定和获取用户空间地址的物理地址,或者我需要一个内核模块,比如说,调用virt_to_phys或get_user_pages?设备的内存通过MMIO映射到用户空间内存中,这样我就可以向它传递任何需要的数据。谢谢
这完全是一次黑客攻击,但我将Linux限制在一定范围的内存内,并使用MMIO为内核不知道的设备分配内存。
基本上,您需要能够DMA的内存,而据我所知,只有内核模块才能做到这一点。看见http://lxr.free-electrons.com/source/Documentation/PCI/PCI-DMA-mapping.txt