PCICONFIG_READ
Section: Linux Programmer's Manual (2)
Updated: 2021-03-22
Index
Return to Main Contents
NAME
pciconfig_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,
unsigned char *buf);
int pciconfig_write(unsigned long bus, unsigned long dfn,
unsigned long off, unsigned long len,
unsigned char *buf);
int pciconfig_iobase(int which, unsigned long bus,
unsigned long devfn);
DESCRIPTION
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 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 offset (for things like prep, this is 0xc0000000),
the IO base for PIO cycles, or the ISA holes if any.
RETURN VALUE
- pciconfig_read()
-
On success, zero is returned.
On error, -1 is returned and
errno
is set to indicate the error.
- pciconfig_write()
-
On success, zero is returned.
On error, -1 is returned and
errno
is set to indicate the error.
- 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
- 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 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
pciconfig_iobase().
CONFORMING TO
These calls are Linux-specific, available since Linux 2.0.26/2.1.11.
SEE ALSO
capabilities(7)
COLOPHON
This page is part of release 5.11 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/.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- CONFORMING TO
-
- SEE ALSO
-
- COLOPHON
-
This document was created by
man2html,
using the manual pages.
Time: 06:22:43 GMT, May 09, 2021