Главная » 2017 » Ноябрь » 21 » man 2 s390_pci_mmio_read
01:37
man 2 s390_pci_mmio_read

SEO sprint - Всё для максимальной раскрутки!





ИМЯ


s390_pci_mmio_write, s390_pci_mmio_read - обмен данными со страницей памяти PCI
MMIO



ОБЗОР


#include <asm/unistd.h>

int s390_pci_mmio_write(unsigned long mmio_addr,
void *user_buffer, size_t length);
int s390_pci_mmio_read(unsigned long mmio_addr,
void *user_buffer, size_t length);



ОПИСАНИЕ


Системный вызов s390_pci_mmio_write() записывает length байт данных из буфера
user_buffer пользовательского пространства в память PCI MMIO по адресу, указанному
в mmio_addr. Системный вызов s390_pci_mmio_read() читает length байт данных
начиная с адреса mmio_addr в памяти PCI MMIO и записывает их в буфер
пользовательского пространства user_buffer.

Данные системные вызовы должны использоваться вместо простых операций назначения
данных, используемых для доступа к областям памяти PCI MMIO, отображенным в
пользовательское пространство на платформе Linux System z. Адрес, указываемый в
mmio_addr, должен принадлежать отображению страницы памяти PCI MMIO в адресном
пространстве вызывающего, а записываемые или читаемые данные не должны пересекать
границу страницы. Значение length не может быть больше размера системной страницы.



ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ


При успешном выполнении s390_pci_mmio_write() и s390_pci_mmio_read() возвращают 0.
При ошибке возвращается -1, а в errno содержится один из кодов ошибки,
перечисленных далее.



ОШИБКИ


EFAULT Некорректный адрес в mmio_addr.

EFAULT Адрес user_buffer не ссылается на корректную точку в адресном пространстве
вызывающего.

EINVAL Некорректное значение аргумента length.

ENODEV Поддержка PCI выключена.

ENOMEM Недостаточно памяти.



ВЕРСИИ


Данные системные вызовы появились в Linux 3.19.



СООТВЕТСТВИЕ СТАНДАРТАМ


Данный системный вызов есть только в Linux и доступен только на архитектуре s390.
Требуемая поддержка PCI доступна начиная с System z EC12.



ЗАМЕЧАНИЯ


В glibc нет обёртки для данного системного вызова; запускайте его с помощью
syscall(2).



СМОТРИТЕ ТАКЖЕ


syscall(2)

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 378 | Добавил: Администратор | Рейтинг: 0.0/0
Всего комментариев: 0
avatar