pciconfig_read
PCICONFIG_READ(2) Linux Programmer's Manual PCICONFIG_READ(2)
NAME
pciconfig_read, pciconfig_write, pciconfig_iobase - pci device informa-
tion 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);
DESCRIPTION
Most of the interaction with PCI devices is already handled by the ker-
nel PCI layer, and thus these calls should not normally need to be ac-
cessed 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 ei-
ther 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 er-
rno is set appropriately.
pciconfig_write()
On success, zero is returned. On error, -1 is returned and er-
rno is set appropriately.
pciconfig_iobase()
Returns information on locations of various I/O regions in phys-
ical 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 pcicon-
fig_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 de-
fined).
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.05 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/.
Linux 2016-07-17 PCICONFIG_READ(2)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2024
Hurricane Electric.
All Rights Reserved.