aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnge Albertini <corkami@google.com>2022-10-30 18:37:00 +0000
committerChris Palmer <snackypants@gmail.com>2022-11-03 11:37:49 -0700
commitb74673e5e3ba7518def9d7fc148017dc84abca8d (patch)
tree54b4957d023728ccb0ce4debdce101a50c142f9d
parent26721f10cc7e48985468d3d94594e66b98cdbb53 (diff)
sys/fuchsia: updated interrupt syscalls definitions
-rw-r--r--sys/fuchsia/interrupt.txt9
-rw-r--r--sys/fuchsia/interrupt_amd64.const10
-rw-r--r--sys/fuchsia/interrupt_arm64.const10
3 files changed, 26 insertions, 3 deletions
diff --git a/sys/fuchsia/interrupt.txt b/sys/fuchsia/interrupt.txt
index d075a9af4..65fefc327 100644
--- a/sys/fuchsia/interrupt.txt
+++ b/sys/fuchsia/interrupt.txt
@@ -8,10 +8,13 @@ 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_create(src_obj zx_resource, src_num int32, options flags[zx_interrupts_create], out_handle ptr[out, zx_interrupt])
-zx_interrupt_bind(handle zx_interrupt, port_handle zx_port, key int64, options int32)
+zx_interrupt_bind(handle zx_interrupt, port_handle zx_port, key int64, options flags[zx_interrupts_bind])
zx_interrupt_wait(handle zx_interrupt, out_timestamp ptr[out, zx_time])
-zx_interrupt_trigger(handle zx_interrupt, options int32, timestamp zx_time)
+zx_interrupt_trigger(handle zx_interrupt, options const[0], timestamp zx_time)
+
+zx_interrupts_create = ZX_INTERRUPT_REMAP_IRQ, ZX_INTERRUPT_MODE_DEFAULT, ZX_INTERRUPT_MODE_EDGE_LOW, ZX_INTERRUPT_MODE_EDGE_HIGH, ZX_INTERRUPT_MODE_LEVEL_LOW, ZX_INTERRUPT_MODE_LEVEL_HIGH, ZX_INTERRUPT_MODE_EDGE_BOTH, ZX_INTERRUPT_VIRTUAL
+zx_interrupts_bind = ZX_INTERRUPT_BIND, ZX_INTERRUPT_UNBIND
diff --git a/sys/fuchsia/interrupt_amd64.const b/sys/fuchsia/interrupt_amd64.const
new file mode 100644
index 000000000..4457b5bae
--- /dev/null
+++ b/sys/fuchsia/interrupt_amd64.const
@@ -0,0 +1,10 @@
+ZX_INTERRUPT_REMAP_IRQ = 1
+ZX_INTERRUPT_MODE_DEFAULT = 1
+ZX_INTERRUPT_MODE_EDGE_LOW = 2
+ZX_INTERRUPT_MODE_EDGE_HIGH = 4
+ZX_INTERRUPT_MODE_LEVEL_LOW = 6
+ZX_INTERRUPT_MODE_LEVEL_HIGH = 8
+ZX_INTERRUPT_MODE_EDGE_BOTH = 10
+ZX_INTERRUPT_VIRTUAL = 0x10
+ZX_INTERRUPT_BIND = 0
+ZX_INTERRUPT_UNBIND = 1
diff --git a/sys/fuchsia/interrupt_arm64.const b/sys/fuchsia/interrupt_arm64.const
new file mode 100644
index 000000000..4457b5bae
--- /dev/null
+++ b/sys/fuchsia/interrupt_arm64.const
@@ -0,0 +1,10 @@
+ZX_INTERRUPT_REMAP_IRQ = 1
+ZX_INTERRUPT_MODE_DEFAULT = 1
+ZX_INTERRUPT_MODE_EDGE_LOW = 2
+ZX_INTERRUPT_MODE_EDGE_HIGH = 4
+ZX_INTERRUPT_MODE_LEVEL_LOW = 6
+ZX_INTERRUPT_MODE_LEVEL_HIGH = 8
+ZX_INTERRUPT_MODE_EDGE_BOTH = 10
+ZX_INTERRUPT_VIRTUAL = 0x10
+ZX_INTERRUPT_BIND = 0
+ZX_INTERRUPT_UNBIND = 1