table of contents
- bookworm 4.18.1-1
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
pciconfig_read(2) | System Calls Manual | pciconfig_read(2) |
ИМЯ¶
pciconfig_read, pciconfig_write, pciconfig_iobase - работа с информацией устройства PCI
БИБЛИОТЕКА¶
Стандартная библиотека языка C (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.
СМОТРИТЕ ТАКЖЕ¶
ПЕРЕВОД¶
Русский перевод этой страницы руководства разработал(и) Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Darima Kogan <silverdk99@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
30 октября 2022 г. | Справочные страницы Linux 6.03 |