diff options
| author | Marina Ciocea <111010340+cdmarina@users.noreply.github.com> | 2022-08-15 19:34:55 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-15 16:34:55 -0700 |
| commit | 8b7f36991e5a1248a66a9ae8a16f6bef785ca064 (patch) | |
| tree | 1042fa086f3738006dfbc814cbe78a7257705479 | |
| parent | 8dfcaa3d2828a113ae780da01f5f73ad64710e31 (diff) | |
sys/fuchsia: update the vmo system calls (#3311)
Co-authored-by: Marina Ciocea <marinaciocea@google.com>
| -rw-r--r-- | sys/fuchsia/vmo.txt | 24 | ||||
| -rw-r--r-- | sys/fuchsia/vmos.txt | 28 |
2 files changed, 24 insertions, 28 deletions
diff --git a/sys/fuchsia/vmo.txt b/sys/fuchsia/vmo.txt new file mode 100644 index 000000000..dfa1a68cd --- /dev/null +++ b/sys/fuchsia/vmo.txt @@ -0,0 +1,24 @@ +# 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> +include <zircon/types.h> + +resource zx_vmo[zx_handle] + +zx_vmo_create(size int64, options flags[vmo_create_options], out ptr[out, zx_vmo]) +zx_vmo_read(handle zx_vmo, buffer ptr[out, array[int8]], offset int64, buffer_size len[buffer]) +zx_vmo_write(handle zx_vmo, buffer ptr[in, array[int8]], offset int64, buffer_size len[buffer]) +zx_vmo_get_size(handle zx_vmo, size ptr[out, int64]) +zx_vmo_set_size(handle zx_vmo, size int64) +zx_vmo_op_range(handle zx_vmo, op flags[vmo_op_range_options], offset int64, size int64, buffer const[0], buffer_size const[0]) +zx_vmo_create_child(handle zx_vmo, options flags[vmo_create_child_options], offset int64, size int64, out ptr[out, zx_vmo]) +zx_vmo_set_cache_policy(handle zx_vmo, cache_policy flags[vmo_cache_policy]) +zx_vmo_replace_as_executable(handle zx_vmo, vmex zx_handle, out ptr[out, zx_vmo]) +zx_vmo_create_contiguous(bti zx_handle, size int64, alignment_log2 int32, out ptr[out, zx_vmo]) +zx_vmo_create_physical(handle zx_vmo, paddr ptr[in, int64], size int64, out ptr[out, zx_vmo]) + +vmo_create_options = 0, ZX_VMO_RESIZABLE, ZX_VMO_DISCARDABLE +vmo_op_range_options = ZX_VMO_OP_COMMIT, ZX_VMO_OP_DECOMMIT, ZX_VMO_OP_ZERO, ZX_VMO_OP_LOCK, ZX_VMO_OP_TRY_LOCK, ZX_VMO_OP_UNLOCK, ZX_VMO_OP_CACHE_SYNC, ZX_VMO_OP_CACHE_INVALIDATE, ZX_VMO_OP_CACHE_CLEAN, ZX_VMO_OP_CACHE_CLEAN_INVALIDATE, ZX_VMO_OP_DONT_NEED, ZX_VMO_OP_ALWAYS_NEED +vmo_create_child_options = ZX_VMO_CHILD_SNAPSHOT, ZX_VMO_CHILD_SNAPSHOT_AT_LEAST_ON_WRITE, ZX_VMO_CHILD_SLICE, ZX_VMO_CHILD_RESIZABLE, ZX_VMO_CHILD_NO_WRITE +vmo_cache_policy = ZX_CACHE_POLICY_CACHED, ZX_CACHE_POLICY_UNCACHED, ZX_CACHE_POLICY_UNCACHED_DEVICE, ZX_CACHE_POLICY_WRITE_COMBINING diff --git a/sys/fuchsia/vmos.txt b/sys/fuchsia/vmos.txt deleted file mode 100644 index 8fd0428c4..000000000 --- a/sys/fuchsia/vmos.txt +++ /dev/null @@ -1,28 +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> -include <zircon/types.h> - -resource zx_vmo[zx_handle] - -zx_vmo_create(size int64, options flags[vmo_create_options], out ptr[out, zx_vmo]) -zx_vmo_create_child(handle zx_vmo, options flags[vmo_create_child_options], offset int64, size int64, out ptr[out, zx_vmo]) -zx_vmo_read(handle zx_vmo, data ptr[out, array[int8]], offset int64, len intptr) -zx_vmo_write(handle zx_vmo, data ptr[in, array[int8]], offset int64, len intptr) -zx_vmo_get_size(handle zx_vmo, size ptr[out, int64]) -zx_vmo_set_size(handle zx_vmo, size int64) -zx_vmo_op_range$ZX_VMO_OP_COMMIT(handle zx_vmo, op const[ZX_VMO_OP_COMMIT], offset int64, size int64, data const[0], buffer_size const[0]) -zx_vmo_op_range$ZX_VMO_OP_DECOMMIT(handle zx_vmo, op const[ZX_VMO_OP_DECOMMIT], offset int64, size int64, data const[0], buffer_size const[0]) -zx_vmo_op_range$ZX_VMO_OP_CACHE_SYNC(handle zx_vmo, op const[ZX_VMO_OP_CACHE_SYNC], offset int64, size int64, data const[0], buffer_size const[0]) -zx_vmo_op_range$ZX_VMO_OP_CACHE_INVALIDATE(handle zx_vmo, op const[ZX_VMO_OP_CACHE_INVALIDATE], offset int64, size int64, data const[0], buffer_size const[0]) -zx_vmo_op_range$ZX_VMO_OP_CACHE_CLEAN(handle zx_vmo, op const[ZX_VMO_OP_CACHE_CLEAN], offset int64, size int64, data const[0], buffer_size const[0]) -zx_vmo_op_range$ZX_VMO_OP_CACHE_CLEAN_INVALIDATE(handle zx_vmo, op const[ZX_VMO_OP_CACHE_CLEAN_INVALIDATE], offset int64, size int64, data const[0], buffer_size const[0]) -zx_vmo_replace_as_executable(handle zx_vmo, res const[ZX_HANDLE_INVALID], out ptr[out, zx_vmo]) - -# Not public: -zx_vmo_set_cache_policy(handle zx_vmo, cache_policy flags[vmo_cache_policy]) - -vmo_create_options = 0 -vmo_create_child_options = ZX_VMO_CHILD_COPY_ON_WRITE -vmo_cache_policy = ZX_CACHE_POLICY_CACHED, ZX_CACHE_POLICY_UNCACHED, ZX_CACHE_POLICY_UNCACHED_DEVICE, ZX_CACHE_POLICY_WRITE_COMBINING |
