Provided by: manpages-ru-dev_4.21.0-2_all
ИМЯ
pciconfig_read, pciconfig_write, pciconfig_iobase - работа с информацией устройства PCI
LIBRARY
Standard C library (libc, -lc)
СИНТАКСИС
#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);
ОПИСАНИЕ
Всё взаимодействие с устройствами PCI, в основном, уже выполнено в ядре на уровне PCI, и поэтому данные вызовы, обычно, ненужны при вызове из пользовательского пространства. pciconfig_read() Выполняет чтение в буфер buf из устройства dev со смещением off. pciconfig_write() Выполняет запись буфера buf в устройство dev со смещением off. pciconfig_iobase() Принимает пару шина/функция_устройства и возвращает физический адрес или смещения в памяти (для таких вещей как prep, это 0xc0000000), базы ввода-вывода для циклов PIO, или промежутки (holes) ISA, если они есть.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
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() Возвращает информацию о расположении различных областей ввода-вывода в физической памяти согласно значению which. Значениями which могут быть: IOBASE_BRIDGE_NUMBER, IOBASE_MEMORY, IOBASE_IO, IOBASE_ISA_IO, IOBASE_ISA_MEM.
ОШИБКИ
EINVAL Неправильное значение len. Не применимо к pciconfig_iobase(). EIO Ошибка ввода-вывода. ENODEV Для pciconfig_iobase() значение «рукава (hose)» равно NULL. Для других вызовов не удаётся найти слот. ENOSYS Данные вызовы в системе не реализованы (не определён макрос CONFIG_PCI). EOPNOTSUPP Данное значение верно только для pciconfig_iobase(). Возвращается, если указано неверное значение which. EPERM Пользователь не имеет мандата CAP_SYS_ADMIN. Не применимо к pciconfig_iobase().
СТАНДАРТЫ
Данные вызовы есть только в Linux, они доступны начиная с версии 2.0.26/2.1.11.
СМ. ТАКЖЕ
capabilities(7)
ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Kogan, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com> Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.