1 .\" Copyright (c) IBM Corp. 2015
2 .\" Author: Alexey Ishchuk <aishchuk@linux.vnet.ibm.com>
4 .\" SPDX-License-Identifier: GPL-2.0-or-later
6 .TH s390_pci_mmio_write 2 (date) "Linux man-pages (unreleased)"
8 s390_pci_mmio_write, s390_pci_mmio_read \- transfer data to/from PCI
12 .RI ( libc ", " \-lc )
15 .BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
16 .B #include <unistd.h>
18 .BI "int syscall(SYS_s390_pci_mmio_write, unsigned long " mmio_addr ,
19 .BI " const void " user_buffer [. length "], \
21 .BI "int syscall(SYS_s390_pci_mmio_read, unsigned long " mmio_addr ,
22 .BI " void " user_buffer [. length "], size_t " length );
26 glibc provides no wrappers for these system calls,
27 necessitating the use of
31 .BR s390_pci_mmio_write ()
34 bytes of data from the user-space buffer
36 to the PCI MMIO memory location specified by
39 .BR s390_pci_mmio_read ()
43 data from the PCI MMIO memory location specified by
45 to the user-space buffer
48 These system calls must be used instead of the simple assignment
49 or data-transfer operations that are used to access the PCI MMIO
50 memory areas mapped to user space on the Linux System z platform.
51 The address specified by
53 must belong to a PCI MMIO memory page mapping in the caller's address space,
54 and the data being written or read must not cross a page boundary.
57 value cannot be greater than the system page size.
60 .BR s390_pci_mmio_write ()
62 .BR s390_pci_mmio_read ()
64 On failure, \-1 is returned and
66 is set to indicate the error.
76 does not point to a valid location in the caller's address space.
84 PCI support is not enabled.