PCICONFIG_READ(2) - Linux man page online | System calls
Pci device information handling.
PCICONFIG_READ(2) Linux Programmer's Manual PCICONFIG_READ(2)
Linux 2016-07-17 PCICONFIG_READ(2)
NAMEpciconfig_read, pciconfig_write, pciconfig_iobase - pci device information handling
SYNOPSIS#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);
DESCRIPTIONMost of the interaction with PCI devices is already handled by the kernel PCI layer, and thus these calls should not normally need to be accessed from user space. pciconfig_read() Reads to buf from device dev at offset off value. pciconfig_write() Writes from buf to device dev at offset off value. pciconfig_iobase() You pass it a bus/devfn pair and get a physical address for either the memory off‐ set (for things like prep, this is 0xc0000000), the IO base for PIO cycles, or the ISA holes if any.
RETURN VALUEpciconfig_read() On success, zero is returned. On error, -1 is returned and errno is set appropri‐ ately. pciconfig_write() On success, zero is returned. On error, -1 is returned and errno is set appropri‐ ately. pciconfig_iobase() Returns information on locations of various I/O regions in physical memory accord‐ ing to the which value. Values for which are: IOBASE_BRIDGE_NUMBER, IOBASE_MEMORY, IOBASE_IO, IOBASE_ISA_IO, IOBASE_ISA_MEM.
ERRORSEINVAL len value is invalid. This does not apply to pciconfig_iobase(). EIO I/O error. ENODEV For pciconfig_iobase(), "hose" value is NULL. For the other calls, could not find a slot. ENOSYS The system has not implemented these calls (CONFIG_PCI not defined). EOPNOTSUPP This return value is valid only for pciconfig_iobase(). It is returned if the value for which is invalid. EPERM User does not have the CAP_SYS_ADMIN capability. This does not apply to pcicon‐ fig_iobase().
CONFORMING TOThese calls are Linux-specific, available since Linux 2.0.26/2.1.11.
COLOPHONThis page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
|This manual||Reference||Other manuals|