aboutsummaryrefslogtreecommitdiffstats
path: root/sys/android
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-01-08 19:14:22 +0100
committerDmitry Vyukov <dvyukov@google.com>2018-01-09 21:24:28 +0100
commit7166c8652080a3d7d3f57851987090dec92cfb19 (patch)
treebfac04c35f2fe7e18ed95a91c4c5e60f922d18b6 /sys/android
parent5aac8b06c60bef3dbf4d66032a2082b219904efb (diff)
sys/linux: add ion and ashmem devices support
Note: ion supercedes the old android interface, which is moved to sys/android.
Diffstat (limited to 'sys/android')
-rw-r--r--sys/android/ion.txt46
-rw-r--r--sys/android/ion_amd64.const11
-rw-r--r--sys/android/ion_arm64.const11
3 files changed, 68 insertions, 0 deletions
diff --git a/sys/android/ion.txt b/sys/android/ion.txt
new file mode 100644
index 000000000..1ce34c6f9
--- /dev/null
+++ b/sys/android/ion.txt
@@ -0,0 +1,46 @@
+# Copyright 2016 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.
+# billylau@
+
+# Description of ioctl calls for /dev/ion, which is based off of 3.18 kernel.
+# TODO: ION_IOC_HEAP_QUERY is detected for 4.10 upstream, but not covered in this description.
+
+include <asm/ioctl.h>
+include <linux/fcntl.h>
+include <../drivers/staging/android/uapi/ion.h>
+
+resource fd_ion[fd]
+resource fd_ion_generic[fd]
+
+resource ion_handle[int32]
+
+openat$ion(fd const[AT_FDCWD], file ptr[in, string["/dev/ion"]], flags flags[open_flags], mode const[0]) fd_ion
+ioctl$ION_IOC_ALLOC(fd fd_ion, cmd const[ION_IOC_ALLOC], arg ptr[inout, ion_allocation_data])
+ioctl$ION_IOC_FREE(fd fd_ion, cmd const[ION_IOC_FREE], arg ptr[in, ion_handle_data])
+ioctl$ION_IOC_MAP(fd fd_ion, cmd const[ION_IOC_MAP], arg ptr[inout, ion_fd_data])
+ioctl$ION_IOC_SHARE(fd fd_ion, cmd const[ION_IOC_SHARE], arg ptr[inout, ion_fd_data])
+ioctl$ION_IOC_IMPORT(fd fd_ion, cmd const[ION_IOC_IMPORT], arg ptr[inout, ion_fd_data])
+ioctl$ION_IOC_SYNC(fd fd_ion, cmd const[ION_IOC_SYNC], arg ptr[inout, ion_fd_data])
+ioctl$ION_IOC_CUSTOM(fd fd_ion, cmd const[ION_IOC_CUSTOM], arg ptr[inout, ion_custom_data])
+
+ion_allocation_data {
+ len intptr
+ align intptr
+ heapid int32
+ flags int32
+ handle ion_handle
+}
+
+ion_handle_data {
+ handle ion_handle
+}
+
+ion_fd_data {
+ handle ion_handle
+ fd fd_ion_generic
+}
+
+ion_custom_data {
+ cmd int32
+ arg intptr
+}
diff --git a/sys/android/ion_amd64.const b/sys/android/ion_amd64.const
new file mode 100644
index 000000000..00ceac9c1
--- /dev/null
+++ b/sys/android/ion_amd64.const
@@ -0,0 +1,11 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+ION_IOC_ALLOC = 3223341312
+ION_IOC_CUSTOM = 3222292742
+ION_IOC_FREE = 3221506305
+ION_IOC_IMPORT = 3221768453
+ION_IOC_MAP = 3221768450
+ION_IOC_SHARE = 3221768452
+ION_IOC_SYNC = 3221768455
+__NR_ioctl = 16
+__NR_openat = 257
diff --git a/sys/android/ion_arm64.const b/sys/android/ion_arm64.const
new file mode 100644
index 000000000..c55b336cf
--- /dev/null
+++ b/sys/android/ion_arm64.const
@@ -0,0 +1,11 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+ION_IOC_ALLOC = 3223341312
+ION_IOC_CUSTOM = 3222292742
+ION_IOC_FREE = 3221506305
+ION_IOC_IMPORT = 3221768453
+ION_IOC_MAP = 3221768450
+ION_IOC_SHARE = 3221768452
+ION_IOC_SYNC = 3221768455
+__NR_ioctl = 29
+__NR_openat = 56