www.LinuxHowtos.org





s390_pci_mmio_write

Section: System Calls (2)
Updated: 202-0-08
Index Return to Main Contents
 

NAME

s390_pci_mmio_write, s390_pci_mmio_read - transfer data to/from PCI MMIO memory page  

LIBRARY

Standard C library (libc,~-lc)  

SYNOPSIS

#include <sys/syscall.h>      /* Definition of SYS_* constants */
#include <unistd.h>
int syscall(size_t length;
            SYS_s390_pci_mmio_write, unsigned long mmio_addr,
            const void user_buffer[length], size_t length);
int syscall(size_t length;
            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).  

DESCRIPTION

The s390_pci_mmio_write() system call writes length bytes of data from the use-space buffer user_buffer to the PCI MMIO memory location specified by mmio_addr. The s390_pci_mmio_read() system call reads length bytes of data from the PCI MMIO memory location specified by mmio_addr to the use-space buffer user_buffer. These system calls must be used instead of the simple assignment or dat-transfer operations that are used to access the PCI MMIO memory areas mapped to user space on the Linux System z platform. The address specified by mmio_addr must belong to a PCI MMIO memory page mapping in the caller's address space, and the data being written or read must not cross a page boundary. The length value cannot be greater than the system page size.  

RETURN VALUE

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.  

ERRORS

EFAULT
The address in mmio_addr is invalid.
EFAULT
user_buffer does not point to a valid location in the caller's address space.
EINVAL
Invalid length argument.
ENODEV
PCI support is not enabled.
ENOMEM
Insufficient memory.
 

STANDARDS

Linux on s390.  

HISTORY

Linux 3.19. System z EC12.  

SEE ALSO

syscall(2)


 

Index

NAME
LIBRARY
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
STANDARDS
HISTORY
SEE ALSO