aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMuhammad Usama Anjum <usama.anjum@collabora.com>2021-11-23 15:33:09 +0500
committerAleksandr Nogikh <wp32pw@gmail.com>2021-11-29 15:19:06 +0100
commitd0830353e30438120e98eb8b8c4c176095093fad (patch)
tree0cf853759040356674f4ea58b9abf4e50cf18a68
parentefd9a70bcb71d237ac8557ea08b003d283246e08 (diff)
sys/linux: add new futex_waitv syscall
Add description of the new syscall futex_waitv. Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
-rw-r--r--CONTRIBUTORS1
-rw-r--r--sys/linux/futex.txt14
-rw-r--r--sys/linux/futex.txt.const6
3 files changed, 21 insertions, 0 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 70e279967..040cad028 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -72,6 +72,7 @@ Christoph Paasch
Collabora
André Almeida
Ricardo Cañuelo
+ Muhammad Usama Anjum
Dipanjan Das
Daimeng Wang
Jukka Kaartinen
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