我正在为 Linux 编写一个 PCIe 驱动程序,目前没有 DMA,并且需要知道一旦从用户空间启用它后如何读取和写入 PCIe 设备。
在驱动程序中,我在 probe() 中进行了基础操作:
pci_enable_device();
pci_request_regions();
pci_iomap();
但是那我如何从用户空间访问这个内存来读写呢?我是否将文件操作添加到我的 PCIe 驱动程序?pci_iomap 中的内存是否显示了用户空间代码可以调用的某个地方:
open('mapped memory location');
mmap(...);
如果是这样,那么位置是什么?
注意: PCIe 设备不会插入任何 Linux 子系统,例如音频、以太网等。