home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | CONFORMING TO | SEE ALSO | COLOPHONThe Linux Programming Interface


PCICONFIG_READ(2)             Linux Programmer's Manual             PCICONFIG_READ(2)

NAME         top

       pciconfig_read,  pciconfig_write,  pciconfig_iobase  -  pci device information
       handling

SYNOPSIS         top

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

DESCRIPTION         top

       Most 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
       userspace.

       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 offset (for things like prep, this is 0xc0000000), the IO base
              for PIO cycles, or the ISA holes if any.

RETURN VALUE         top

       pciconfig_read()
              On success zero is returned.  On error, -1 is returned and errno is set
              appropriately.

       pciconfig_write()
              On success zero is returned.  On error, -1 is returned and errno is set
              appropriately.

       pciconfig_iobase()
              Returns information on locations of various I/O regions in physical
              memory according to the which value.  Values for which are:
              IOBASE_BRIDGE_NUMBER, IOBASE_MEMORY, IOBASE_IO, IOBASE_ISA_IO,
              IOBASE_ISA_MEM.

ERRORS         top

       EINVAL 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 only valid 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 pciconfig_iobase().

CONFORMING TO         top

       These calls are Linux-specific, available since Linux 2.0.26/2.1.11.

SEE ALSO         top

       capabilities(7)

COLOPHON         top

       This page is part of release 3.32 of the Linux man-pages project.  A
       description of the project, and information about reporting bugs, can be found
       at http://www.kernel.org/doc/man-pages/.

Linux                                 2003-07-14                    PCICONFIG_READ(2)

HTML rendering created 2010-12-03 by Michael Kerrisk, author of The Linux Programming Interface

customisable
counter