# 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://fuchsia.googlesource.com/zircon/+/master/docs/syscalls.md include <zircon/syscalls.h> include <ddk/driver.h> # Provided by sysroot (include/ddk/driver.h) resource zx_root_resource[zx_handle] get_root_resource() zx_root_resource # Used by syzkaller to allocate memory for syscall arguments. syz_mmap(addr vma, len len[addr]) # Provided by process runtime (zircon/process.h). syz_process_self() zx_process syz_thread_self() zx_thread syz_vmar_root_self() zx_vmar syz_job_default() zx_job # TODO: the get_system_features_options flags are only valid on ARM; # find a way to make syzkaller generate ARM-specific code # zx_system_features(kind int32, features flags[get_system_features_options]) zx_system_get_num_cpus() zx_system_get_physmem() zx_system_get_version(version ptr[out, array[int8]], version_len len[version]) zx_cprng_draw(buffer ptr[out, array[int8]], len len[buffer], actual ptr[out, intptr]) zx_cprng_add_entropy(buffer ptr[in, array[int8]], len len[buffer]) zx_vmar_unmap_handle_close_thread_exit(vmar_handle zx_vmar, addr vma, len len[addr], close_handle zx_handle) zx_futex_wake_handle_close_thread_exit(value_ptr ptr[in, int32], wake_count int32, new_value int32, close_handle zx_handle) # get_system_features_options = ZX_ARM_64_ISA_FP, ZX_ARM64_FEATURE_ASIMD, ZX_ARM64_FEATURE_ISA_AES, ZX_ARM64_FEATURE_ISA_PMULL, ZX_ARM64_FEATURE_ISA_SHA1, ZX_ARM64_FEATURE_ISA_SHA2, ZX_ARM64_FEATURE_ISA_CRC32, ZX_ARM64_FEATURE_ISA_ATOMICS, ZX_ARM64_FEATURE_ISA_RDM, ZX_ARM64_FEATURE_ISA_SHA3, ZX_ARM64_FEATURE_ISA_SM3, ZX_ARM64_FEATURE_ISA_SM4, ZX_ARM64_FEATURE_ISA_DP, ZX_ARM64_FEATURE_ISA_DPB