s390_pci_mmio_write.2: New page for s390 s390_pci_mmio_write() and s390_pci_mmio_read()

New manual page for the new PCI MMIO memory access system
calls, s390_pci_mmio_write() and s390_pci_mmio_read(),
added for the s390 platform.

Signed-off-by: Alexey Ishchuk <aishchuk@linux.vnet.ibm.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Alexey Ishchuk 2015-01-19 15:22:52 +01:00 committed by Michael Kerrisk
parent 5edd5994a4
commit a698082e6e
1 changed files with 102 additions and 0 deletions

102
man2/s390_pci_mmio_write.2 Normal file
View File

@ -0,0 +1,102 @@
.\" Copyright (c) IBM Corp. 2015
.\" Author: Alexey Ishchuk <aishchuk@linux.vnet.ibm.com>
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" <http://www.gnu.org/licenses/>.
.\" %%%LICENSE_END
.\"
.TH S390_PCI_MMIO_WRITE 2 2015-01-15 "Linux Programmer's Manual"
.SH NAME
s390_pci_mmio_write, s390_pci_mmio_read \- transfer data to/from PCI
MMIO memory page
.SH SYNOPSIS
.nf
.B #include <asm/unistd.h>
.BI "int s390_pci_mmio_write(unsigned long " mmio_addr ",
.BI " void *" user_buffer ",
.BI " size_t " length ");
.br
.BI "int s390_pci_mmio_read(unsigned long " mmio_addr ",
.BI " void *" user_buffer ",
.BI " size_t " length ");
.fi
.SH DESCRIPTION
The
.BR s390_pci_mmio_write ()
system call writes data of length
.IR length
from the user space buffer
.IR user_buffer
to a PCI MMIO memory location.
The
.BR s390_pci_mmio_read ()
system call reads data from a PCI MMIO memory location
to the user space buffer
.IR user_buffer
of
.IR length
bytes size.
These system calls must be used instead of the simple assignment
or data transfer operations that are used to access the PCI MMIO
memory areas mapped to the user space on the Linux on System z
platform.
The address specified by the
.IR mmio_addr
parameter must belong to a PCI MMIO memory page mapping in the user
address space, and the data being written or read must not cross a
page boundary. The
.IR length
parameter value cannot be greater than the page size.
.SH RETURN VALUE
On success,
.BR s390_pci_mmio_write ()
and
.BR s390_pci_mmio_read ()
return 0.
On error, \-1 is returned and
.IR errno
is set to one of the error codes listed below.
.SH ERRORS
.TP
.B ENODEV
PCI support is not enabled.
.TP
.B ENOMEM
Insufficient memory.
.TP
.B EFAULT
Invalid address was specified.
.TP
.B EINVAL
Invalid parameter value.
.SH VERSIONS
These system calls are available since Linux 3.19.
.SH CONFORMING TO
This Linux-specific system call is available only on the s390
architecture. The required PCI support is available beginning with
System z EC12.
.SH NOTES
Glibc does not provide a wrapper for this system call, use
.BR syscall (2)
to call it.
.SH SEE ALSO
.BR syscall (2)