s390_pci_mmio_write, s390_pci_mmio_read -
обмен
данными со
страницей
памяти PCI MMIO
Standard C library (
libc,
-lc)
#include <sys/syscall.h> /* определения констант SYS_* */
#include <unistd.h>
int syscall(SYS_s390_pci_mmio_write, unsigned long mmio_addr,
const void user_buffer[.length], size_t length);
int syscall(SYS_s390_pci_mmio_read, unsigned long mmio_addr,
void user_buffer[.length], size_t length);
Note: glibc provides no wrappers for these system calls, necessitating
the use of
syscall(2).
Системный
вызов
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
не может
быть
больше
размера
системной
страницы.
On success,
s390_pci_mmio_write() and
s390_pci_mmio_read() return
0. On failure, -1 is returned and
errno is set to indicate the error.
- EFAULT
- Некорректный
адрес в mmio_addr.
- EFAULT
- Адрес user_buffer
не
ссылается
на
корректную
точку в
адресном
пространстве
вызывающего.
- EINVAL
- Некорректное
значение
аргумента
length.
- ENODEV
- Поддержка
PCI
выключена.
- ENOMEM
- Недостаточно
памяти.
Данные
системные
вызовы
появились
в Linux 3.19.
Данный
системный
вызов есть
только в Linux и
доступен
только на
архитектуре
s390. Требуемая
поддержка PCI
доступна
начиная с System z
EC12.
syscall(2)
Русский
перевод
этой
страницы
руководства
был сделан
Alexander Golubev <
[email protected]>, Azamat Hackimov
<
[email protected]>, Hotellook, Nikita
<
[email protected]>, Spiros Georgaras <
[email protected]>, Vladislav
<
[email protected]>, Yuri Kozlov <
[email protected]>
и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]