aboutsummaryrefslogtreecommitdiffstats
path: root/sys/fuchsia
diff options
context:
space:
mode:
authorChris Palmer <snackypants@gmail.com>2022-08-12 08:47:13 -0700
committerGitHub <noreply@github.com>2022-08-12 08:47:13 -0700
commit2b91f03c237d88905a527d86cd6928cc2d7b0657 (patch)
treef97a19b113aac4d99b829504347d2535cf6c0b81 /sys/fuchsia
parent17f16b2425f6228254d590d8fc80727709af56cf (diff)
sys/fuchsia: update the futex system calls (#3285)
Co-authored-by: Chris Palmer <palmer@google.com>
Diffstat (limited to 'sys/fuchsia')
-rw-r--r--sys/fuchsia/futex.txt17
-rw-r--r--sys/fuchsia/futexes.txt9
2 files changed, 17 insertions, 9 deletions
diff --git a/sys/fuchsia/futex.txt b/sys/fuchsia/futex.txt
new file mode 100644
index 000000000..b39e791ff
--- /dev/null
+++ b/sys/fuchsia/futex.txt
@@ -0,0 +1,17 @@
+# Copyright 2017 syzkaller project authors. All rights reserved.
+# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+# See https://cs.opensource.google/fuchsia/fuchsia/+/main:zircon/vdso/futex.fidl
+
+include <zircon/syscalls.h>
+
+# NOTE: The `zx_handle`s in these calls are specified in the FIDL as plain
+# `handle`, without specialization.
+
+# TODO: limit value_ptr space somehow to make matches more frequent.
+zx_futex_wait(value_ptr ptr[in, int32], current_value int32, new_futex_owner zx_handle, deadline zx_time)
+zx_futex_wake(value_ptr ptr[in, int32], wake_count int32)
+zx_futex_requeue(value_ptr ptr[in, int32], wake_count int32, current_value int32, requeue_ptr ptr[in, int32], requeue_count int32, new_requeue_owner zx_thread)
+zx_futex_wake_single_owner(value_ptr ptr[in, int32])
+zx_futex_requeue_single_owner(value_ptr ptr[in, int32], current_value int32, requeue_ptr ptr[in, int32], requeue_count int32, new_requeue_owner zx_thread)
+zx_futex_get_owner(value_ptr ptr[in, int32], koid ptr[out, int64])
diff --git a/sys/fuchsia/futexes.txt b/sys/fuchsia/futexes.txt
deleted file mode 100644
index cd9da4595..000000000
--- a/sys/fuchsia/futexes.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2017 syzkaller project authors. All rights reserved.
-# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
-
-include <zircon/syscalls.h>
-
-# TODO: limit value_ptr space somehow to make matches more frequent.
-zx_futex_wait(value_ptr ptr[in, int32], current_value int32, new_futext_owner zx_handle, deadline zx_time)
-zx_futex_wake(value_ptr ptr[in, int32], wake_count int32)
-zx_futex_requeue(value_ptr ptr[in, int32], wake_count int32, current_value int32, requeue_ptr ptr[in, int32], requeue_count int32, new_requeue_owner zx_handle)