使用procfs和sysfs访问pci设备有什么区别

时间:2016-08-08 19:45:49

标签: io device pci

procfs档案:/proc/bus/pci/00/00.0

VS

sysfs档案:/sys/bus/pci/devices/0000:00:00.0/resource

我见过一些驱动程序使用procfs文件,有些使用sysfs。有什么不同?根据我的需要,我发现mmap - sysfs/resource<n>?文件和读/写工作正常,但procfs文件上的类似操作不起作用。但显然procfs文件在其他地方成功使用。

1 个答案:

答案 0 :(得分:1)

您引用的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