PCICONFIG_READ - Linux手册页
时间:2019-08-20 17:59:06 来源:igfitidea点击:
Linux程序员手册 第2部分
更新日期: 2016-07-17
名称
pciconfig_read,pciconfig_write,pciconfig_iobase-pci设备信息处理
语法
#include <pci.h> int pciconfig_read(unsigned long bus, unsigned long dfn, unsigned long off, unsigned long len, void *buf); int pciconfig_write(unsigned long bus, unsigned long dfn, unsigned long off, unsigned long len, void *buf); int pciconfig_iobase(long which, unsigned long bus, unsigned long devfn);
说明
与PCI设备的大多数交互已由内核PCI层处理,因此,通常不需要从用户空间访问这些调用。
- pciconfig_read()
- 从设备开发人员以偏移量关闭值读取buf。
- pciconfig_write()
- 从buf向设备dev写入offset off值。
- pciconfig_iobase()
- 您将其传递给总线/ devfn对,并获得用于内存偏移量的物理地址(对于诸如prep之类的东西,该值为0xc0000000),用于PIO周期的IO基础或ISA孔(如果有)。
返回值
- pciconfig_read()
- 成功时,返回零。如果出错,则返回-1并正确设置errno。
- pciconfig_write()
- 成功时,返回零。如果出错,则返回-1并正确设置errno。
- pciconfig_iobase()
- 根据哪个值返回有关物理内存中各个I / O区域的位置的信息。其值为:IOBASE_BRIDGE_NUMBER,IOBASE_MEMORY,IOBASE_IO,IOBASE_ISA_IO,IOBASE_ISA_MEM。
错误说明
- EINVAL
- len值无效。这不适用于pciconfig_iobase()。
- EIO
- I / O错误。
- ENODEV
- 对于pciconfig_iobase()," hose"值为NULL。对于其他呼叫,找不到插槽。
- ENOSYS
- 系统尚未实现这些调用(未定义CONFIG_PCI)。
- EOPNOTSUPP
- 该返回值仅对pciconfig_iobase()有效。如果其值无效,则返回该值。
- EPERM
- 用户不具有CAP_SYS_ADMIN功能。这不适用于pciconfig_iobase()。
遵循规范
这些调用特定于Linux,自Linux 2.0.26 / 2.1.11起可用。
另外参见
能力(7)
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。