S390_PCI_MMIO_WRITE - Linux手册页

时间:2019-08-20 17:59:17  来源:igfitidea点击:

Section: System Calls (2)
更新日期: 2017-09-15

名称

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()系统调用将长度字节的数据从用户空间缓冲区user_buffer写入mmio_addr指定的PCI MMIO内存位置。 s390_pci_mmio_read()系统调用将mmio_addr指定的PCI MMIO内存位置的数据长度字节读取到用户空间缓冲区user_buffer。

必须使用这些系统调用来代替用于访问映射到Linux System z平台上用户空间的PCI MMIO内存区域的简单分配或数据传输操作。 mmio_addr指定的地址必须属于调用者的地址空间中的PCI MMIO内存页面映射,并且正在写入或读取的数据不得跨越页面边界。长度值不能大于系统页面大小。

返回值

成功时,s390_pci_mmio_write()和s390_pci_mmio_read()返回0。错误时,返回-1并将errno设置为下面列出的错误代码之一。

错误说明

EFAULT
mmio_addr中的地址无效。
EFAULT
user_buffer没有指向调用者的地址空间中的有效位置。
EINVAL
长度参数无效。
ENODEV
未启用PCI支持。
ENOMEM
内存不足。

版本

这些系统调用自Linux 3.19起可用。

遵循规范

此特定于Linux的系统调用仅在s390体系结构上可用。从System z EC12开始可提供所需的PCI支持。

备注

Glibc不为此系统调用提供包装,请使用syscall(2)对其进行调用。

另外参见

系统调用(2)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/