aboutsummaryrefslogtreecommitdiffstats
path: root/sys/fuchsia
diff options
context:
space:
mode:
authorChris Palmer <snackypants@gmail.com>2022-08-12 10:24:38 -0700
committerGitHub <noreply@github.com>2022-08-12 10:24:38 -0700
commitb0f33c7afea351875e256f33026c8841579026e6 (patch)
tree9e3960c26a64411da66dd791267c7956a64c825d /sys/fuchsia
parenta8ef1b108198fe97e3d791eede049b85a6fc825f (diff)
sys/fuchsia: update the interrupt system calls (#3290)
Co-authored-by: Chris Palmer <palmer@google.com>
Diffstat (limited to 'sys/fuchsia')
-rw-r--r--sys/fuchsia/ddk.txt7
-rw-r--r--sys/fuchsia/interrupt.txt21
2 files changed, 21 insertions, 7 deletions
diff --git a/sys/fuchsia/ddk.txt b/sys/fuchsia/ddk.txt
index 62c2236d2..2bc278136 100644
--- a/sys/fuchsia/ddk.txt
+++ b/sys/fuchsia/ddk.txt
@@ -4,13 +4,6 @@
include <zircon/syscalls.h>
include <zircon/types.h>
-resource zx_interrupt[intptr]
-
cache_flush_flags = ZX_CACHE_FLUSH_DATA, ZX_CACHE_FLUSH_INVALIDATE, ZX_CACHE_FLUSH_INSN
zx_cache_flush(addr ptr[out, intptr], size int64, flags flags[cache_flush_flags])
-# TODO: enable modes other than ZX_INTERRUPT_VIRTUAL
-zx_interrupt_create(src_obj const[0], src_num const[0], options const[ZX_INTERRUPT_VIRTUAL], interrupt ptr[out, zx_interrupt])
-zx_interrupt_ack(interrupt zx_interrupt)
-zx_interrupt_destroy(interrupt zx_interrupt)
-# TODO: fill out remaining interrupt syscalls
diff --git a/sys/fuchsia/interrupt.txt b/sys/fuchsia/interrupt.txt
new file mode 100644
index 000000000..5dfc06bac
--- /dev/null
+++ b/sys/fuchsia/interrupt.txt
@@ -0,0 +1,21 @@
+# Copyright 2022 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/interrupt.fidl
+
+include <zircon/syscalls.h>
+include <zircon/types.h>
+
+resource zx_interrupt[zx_handle]
+
+zx_interrupt_create(src_obj zx_resource, src_num int32, options int32, out_handle ptr[out, zx_interrupt])
+
+zx_interrupt_bind(handle zx_interrupt, port_handle zx_port, key int64, options int32)
+
+zx_interrupt_wait(handle zx_interrupt, out_timestamp ptr[out, zx_time])
+
+zx_handle_destroy(handle zx_interrupt)
+
+zx_handle_ack(handle zx_interrupt)
+
+zx_interrupt_trigger(handle zx_interrupt, options int32, timestamp zx_time)