summaryrefslogtreecommitdiff
path: root/arch/s390x/bits
AgeCommit message (Collapse)AuthorFilesLines
2019-07-30remove gratuitously-different arch-specific bits/ipc.h filesRich Felker1-12/+0
these differ from generic only in using endian-matched padding with a short __ipc_perm_seq field in place of the int field in generic. this is not a documented public interface anyway, and the original intent was to use int here. some ports just inadvertently slipped in the kernel short+padding form.
2019-07-30move IPC_64 from public bits/ipc.h to syscall_arch.hRich Felker1-2/+0
the definition of the IPC_64 macro controls the interface between libc and the kernel through syscalls; it's not a public API. the meaning is rather obscure. long ago, Linux's sysvipc *id_ds structures used 16-bit uids/gids and wrong types for a few other fields. this was in the libc5 era, before glibc. the IPC_64 flag (64 is a misnomer; it's more like 32) tells the kernel to use the modern[-ish] versions of the structures. the definition of IPC_64 has nothing to do with whether the arch is 32- or 64-bit. rather, due to either historical accident or intentional obnoxiousness, the kernel only accepts and masks off the 0x100 IPC_64 flag conditional on CONFIG_ARCH_WANT_IPC_PARSE_VERSION, i.e. for archs that want to provide, or that accidentally provided, both. for archs which don't define this option, no masking is performed and commands with the 0x100 bit set will fail as invalid. so ultimately, the definition is just a matter of matching an arbitrary switch defined per-arch in the kernel.
2019-07-29remove duplicates of new generic bits/msg.hRich Felker1-12/+0
2019-07-29remove duplicates of new generic bits/sem.hRich Felker1-7/+0
some of these were not exact duplicates, but had gratuitously different naming for padding, or omitted the endian checks because the arch is fixed-endian.
2019-07-29remove duplicates of new generic bits/shm.hRich Felker1-25/+0
2019-07-01add new syscall numbers from linux v5.1Szabolcs Nagy1-0/+18
syscall numbers are now synced up across targets (starting from 403 the numbers are the same on all targets other than an arch specific offset) IPC syscalls sem*, shm*, msg* got added where they were missing (except for semop: only semtimedop got added), the new semctl, shmctl, msgctl imply IPC_64, see linux commit 0d6040d4681735dfc47565de288525de405a5c99 arch: add split IPC system calls where needed new 64bit time_t syscall variants got added on 32bit targets, see linux commit 48166e6ea47d23984f0b481ca199250e1ce0730a y2038: add 64-bit time_t syscalls to all 32-bit architectures new async io syscalls got added, see linux commit 2b188cc1bb857a9d4701ae59aa7768b5124e262e Add io_uring IO interface linux commit edafccee56ff31678a091ddb7219aba9b28bc3cb io_uring: add support for pre-mapped user IO buffers a new syscall got added that uses the fd of /proc/<pid> as a stable handle for processes: allows sending signals without pid reuse issues, intended to eventually replace rt_sigqueueinfo, kill, tgkill and rt_tgsigqueueinfo, see linux commit 3eb39f47934f9d5a3027fe00d906a45fe3a15fad signal: add pidfd_send_signal() syscall on some targets (arm, m68k, s390x, sh) some previously missing syscall numbers got added as well.
2019-07-01s390x: drop SO_ definitions from bits/socket.hSzabolcs Nagy1-28/+0
the s390x definitions matched the generic ones in sys/socket.h.
2019-04-23fix regression in s390x SO_PEERSEC definitionRich Felker1-0/+1
analogous to commit efda534b212f713fe2b92a62b06e45f656b763ce for powerpc. commit 587f5a53bc3a68d80b239ba515d583df690a96df moved the definition of SO_PEERSEC to bits/socket.h for archs where the SO_* macros differ.
2019-03-13fix POSIX_FADV_DONTNEED/_NOREUSE on s390xJonathan Neuschäfer1-0/+3
On s390x, POSIX_FADV_DONTNEED and POSIX_FADV_NOREUSE have different values than on all other architectures that Linux supports. Handle this difference by wrapping their definitions in include/fcntl.h in #ifdef, so that arch/s390x/bits/fcntl.h can override them.
2018-12-09add io_pgetevents and rseq syscall numbers from linux v4.18Szabolcs Nagy1-0/+2
io_pgetevents is new in linux commit 7a074e96dee62586c935c80cecd931431bfdd0be rseq is new in linux commit d7822b1e24f2df5df98c76f0e94a5416349ff759
2018-07-17add support for arch-specific ptrace command macrosSzabolcs Nagy1-0/+9
sys/ptrace.h is target specific, use bits/ptrace.h to add target specific macro definitions. these macros are kept in the generic sys/ptrace.h even though some targets don't support them: PTRACE_GETREGS PTRACE_SETREGS PTRACE_GETFPREGS PTRACE_SETFPREGS PTRACE_GETFPXREGS PTRACE_SETFPXREGS so no macro definition got removed in this patch on any target. only s390x has a numerically conflicting macro definition (PTRACE_SINGLEBLOCK). the PT_ aliases follow glibc headers, otherwise the definitions come from linux uapi headers except ones that are skipped in glibc and there is no real kernel support (s390x PTRACE_*_AREA) or need special type definitions (mips PTRACE_*_WATCH_*) or only relevant for linux 2.4 compatibility (PTRACE_OLDSETOPTIONS).
2018-06-19s390x: add kexec_file_load syscall number from linux v4.17Szabolcs Nagy1-0/+1
new in linux commit 71406883fd35794d573b3085433c41d0a3bf6c21
2018-03-10use PAGESIZE rather than PAGE_SIZE in user.h bitsRich Felker1-2/+2
align with commit c9c2cd3e6955cb1d57b8be01d4b072bf44058762.
2018-03-10reverse definition dependency between PAGESIZE and PAGE_SIZERich Felker1-1/+1
PAGESIZE is actually the version defined in POSIX base, with PAGE_SIZE being in the XSI option. use PAGESIZE as the underlying definition to facilitate making exposure of PAGE_SIZE conditional.
2018-02-22s390x: add s390_sthyi system call from v4.15Szabolcs Nagy1-0/+1
to store hypervisor information, added in linux commit 3d8757b87d7fc15a87928bc970f060bc9c6dc618
2017-11-05s390x: use generic ioctl.hSzabolcs Nagy2-196/+2
s390 can use the generic ioctls definitions other than FIOQSIZE (like arm). this fixes some missing ioctls and two incorrect ones: TIOCTTYGSTRUCT and TIOCM_MODEM_BITS seem to be defined on frv target only in linux.
2017-11-05s390x: add syscall number for s390_guarded_storage from linux v4.12Szabolcs Nagy1-0/+1
new syscall in linux commit 916cda1aa1b412d7cf2991c3af7479544942d121
2017-11-05add statx syscall numbers from linux v4.11Szabolcs Nagy1-0/+1
statx was added in linux commit a528d35e8bfcc521d7cb70aaf03e1bd296c8493f (there is no libc wrapper yet and microblaze and sh misses the number).
2017-08-29s390x: add bits/hwcap.hSzabolcs Nagy1-0/+15
aligned with linux arch/s390/include/asm/elf.h (these macros should be exported into uapi, but they are not)
2017-08-29add SIOCGSTAMPNS socket ioctl macro to ioctl.hSzabolcs Nagy1-0/+1
it is defined in linux asm/sockios.h since commit ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23 (linux v2.6.22) but was missing from musl by accident. in musl the sockios macros are exposed in sys/ioctl.h together with other ioctl requests instead of in sys/socket.h because of namespace rules. (glibc has them in sys/socket.h under _GNU_SOURCE.)
2017-04-22s390x: provide sigcontext struct definitionBobby Bingham1-0/+15
This structure was missed when creating the s390x port. This is based on the report and patch from William Pitcock, but with a modified structure defintion to more closely match the kernel's definition.
2017-03-15s390x: fix fpreg_t and remove unused per_structTuan M. Hoang1-2/+2
Including sys/procfs.h complains unknown type name 'fpreg_t' in bits/user.h. fpreg_t in bits/signal.h and elf_fpreg_t in bits/user.h are practically the same. per_struct is never used, even conflicts with kernel header asm/ptrace.h
2016-12-16fix use of incomplete struct type in s390x user.hBobby Bingham1-10/+10
2016-12-16fix typo in s390x user.hBobby Bingham1-1/+1
2016-11-11add s390x portBobby Bingham22-0/+945