From d0830353e30438120e98eb8b8c4c176095093fad Mon Sep 17 00:00:00 2001 From: Muhammad Usama Anjum Date: Tue, 23 Nov 2021 15:33:09 +0500 Subject: sys/linux: add new futex_waitv syscall Add description of the new syscall futex_waitv. Signed-off-by: Muhammad Usama Anjum --- sys/linux/futex.txt | 14 ++++++++++++++ sys/linux/futex.txt.const | 6 ++++++ 2 files changed, 20 insertions(+) (limited to 'sys/linux') diff --git a/sys/linux/futex.txt b/sys/linux/futex.txt index eaf8885e3..98409960f 100644 --- a/sys/linux/futex.txt +++ b/sys/linux/futex.txt @@ -17,4 +17,18 @@ robust_list { next ptr[in, robust_list, opt] } +futex_waitv(addr ptr[in, array[futex_waitv_struct, 0:FUTEX_WAITV_MAX_INDEX]], val len[addr], flg const[0], timeout ptr[in, timespec], clockid flags[futex_clock_id]) + +futex_waitv_struct { + val int64 + uaddr ptr[in, int64] + flgs flags[struct_flags_op, int32] + reserved const[0, int32] +} + futex_op = FUTEX_WAIT, FUTEX_WAKE, FUTEX_FD, FUTEX_REQUEUE, FUTEX_CMP_REQUEUE, FUTEX_WAKE_OP, FUTEX_LOCK_PI, FUTEX_UNLOCK_PI, FUTEX_TRYLOCK_PI, FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_WAIT_REQUEUE_PI, FUTEX_CMP_REQUEUE_PI, FUTEX_LOCK_PI2, FUTEX_PRIVATE_FLAG, FUTEX_CLOCK_REALTIME + +futex_clock_id = CLOCK_REALTIME, CLOCK_MONOTONIC +struct_flags_op = FUTEX_32, FUTEX_PRIVATE_32 +define FUTEX_WAITV_MAX_INDEX FUTEX_WAITV_MAX - 1 +define FUTEX_PRIVATE_32 FUTEX_32 | FUTEX_PRIVATE_FLAG diff --git a/sys/linux/futex.txt.const b/sys/linux/futex.txt.const index 38ac16b39..add271b7f 100644 --- a/sys/linux/futex.txt.const +++ b/sys/linux/futex.txt.const @@ -1,21 +1,27 @@ # Code generated by syz-sysgen. DO NOT EDIT. arches = 386, amd64, arm, arm64, mips64le, ppc64le, riscv64, s390x +CLOCK_MONOTONIC = 1 +CLOCK_REALTIME = 0 +FUTEX_32 = 2 FUTEX_CLOCK_REALTIME = 256 FUTEX_CMP_REQUEUE = 4 FUTEX_CMP_REQUEUE_PI = 12 FUTEX_FD = 2 FUTEX_LOCK_PI = 6 FUTEX_LOCK_PI2 = 13 +FUTEX_PRIVATE_32 = 130 FUTEX_PRIVATE_FLAG = 128 FUTEX_REQUEUE = 3 FUTEX_TRYLOCK_PI = 8 FUTEX_UNLOCK_PI = 7 FUTEX_WAIT = 0 +FUTEX_WAITV_MAX_INDEX = 127 FUTEX_WAIT_BITSET = 9 FUTEX_WAIT_REQUEUE_PI = 11 FUTEX_WAKE = 1 FUTEX_WAKE_BITSET = 10 FUTEX_WAKE_OP = 5 __NR_futex = 98, 386:arm:240, amd64:202, mips64le:5194, ppc64le:221, s390x:238 +__NR_futex_waitv = 449, mips64le:5449 __NR_get_robust_list = 100, 386:312, amd64:274, arm:339, mips64le:5269, ppc64le:299, s390x:305 __NR_set_robust_list = 99, 386:311, amd64:273, arm:338, mips64le:5268, ppc64le:300, s390x:304 -- cgit mrf-deployment