procfs
file: /proc/bus/pci/00/00.0
与
sysfs
file: /sys/bus/pci/devices/0000:00:00.0/resource
我看到一些驱动程序使用procfs
文件和一些使用sysfs
。有什么区别呢?对于我所需要的,我发现mmap
-ing sysfs/resource<n>?
文件和读/写工作,因为我需要它,但对procfs
文件的类似操作不起作用。但是很明显,procfs
文件在其他地方被成功地使用了。
您引用的procfs
文件(/proc/bus/pci/00/00.0
)提供对设备配置头文件的访问。在sysfs
中也可以访问/sys/bus/pci/devices/0000:00:00.0/config
。
您正在谈论的sysfs
文件(/sys/bus/pci/devices/0000:00:00.0/resource<N>
)提供对设备BAR区域的访问。请参阅https://en.wikipedia.org/wiki/PCI_configuration_space了解这些关系的解释。此外,您可能需要阅读linux内核文档https://www.kernel.org/doc/Documentation/filesystems/sysfs-pci.txt