错误说明

EINVAL
len值无效。这不适用于pciconfig_iobase()。
EIO
I / O错误。
ENODEV
对于pciconfig_iobase()," hose"值为NULL。对于其他呼叫,找不到插槽。
ENOSYS
系统尚未实现这些调用(未定义CONFIG_PCI)。
EOPNOTSUPP
该返回值仅对pciconfig_iobase()有效。如果其值无效,则返回该值。
EPERM
用户不具有CAP_SYS_ADMIN功能。这不适用于pciconfig_iobase()。

返回值

pciconfig_read()
成功时,返回零。如果出错,则返回-1并正确设置errno。
pciconfig_write()
成功时,返回零。如果出错,则返回-1并正确设置errno。
pciconfig_iobase()
根据哪个值返回有关物理内存中各个I / O区域的位置的信息。其值为:IOBASE_BRIDGE_NUMBERIOBASE_MEMORYIOBASE_IOIOBASE_ISA_IO,IOBASE_ISA_MEM。

遵循规范

这些调用特定于Linux,自Linux 2.0.26 / 2.1.11起可用。

名称

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);

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

另外参见

能力(7)

PCICONFIG_READ - Linux手册页

Linux程序员手册 第2部分
更新日期: 2016-07-17

说明

与PCI设备的大多数交互已由内核PCI层处理,因此,通常不需要从用户空间访问这些调用。

pciconfig_read()
从设备开发人员以偏移量关闭值读取buf。
pciconfig_write()
从buf向设备dev写入offset off值。
pciconfig_iobase()
您将其传递给总线/ devfn对,并获得用于内存偏移量的物理地址(对于诸如prep之类的东西,该值为0xc0000000),用于PIO周期的IO基础或ISA孔(如果有)。
日期:2019-08-20 17:59:06 来源:oir作者:oir