mirror of
https://github.com/reactos/syzkaller.git
synced 2024-11-27 21:30:33 +00:00
ab89aea98e
Updates cover * zx_vmo_create * zx_clock_get_monotonic * hypervisor- and vCPU-related syscalls * system_get_features * some DDK syscalls
174 lines
6.3 KiB
Plaintext
174 lines
6.3 KiB
Plaintext
# 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/syscalls/object.h>
|
|
include <zircon/syscalls/exception.h>
|
|
|
|
resource koid[int64]: 0
|
|
|
|
# TODO: temporary disabled as it crashes kernel left and right.
|
|
# zx_object_get_child(handle zx_handle, koid koid, rights flags[zx_rights], out ptr[out, zx_handle])
|
|
zx_object_get_cookie(handle zx_handle, scope zx_handle, cookie ptr[out, int64])
|
|
zx_object_set_cookie(handle zx_handle, scope zx_handle, cookie int64)
|
|
zx_object_get_info$ZX_INFO_HANDLE_VALID(handle zx_handle, topic const[ZX_INFO_HANDLE_VALID], buffer const[0], buffer_size const[0], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
zx_object_get_info$ZX_INFO_HANDLE_BASIC(handle zx_handle, topic const[ZX_INFO_HANDLE_BASIC], buffer ptr[out, zx_info_handle_basic], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
zx_object_get_info$ZX_INFO_PROCESS(handle zx_process, topic const[ZX_INFO_PROCESS], buffer ptr[out, zx_info_process], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
zx_object_get_info$ZX_INFO_PROCESS_THREADS(handle zx_process, topic const[ZX_INFO_PROCESS_THREADS], buffer ptr[out, array[koid]], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
zx_object_get_info$ZX_INFO_VMAR(handle zx_vmar, topic const[ZX_INFO_VMAR], buffer ptr[out, zx_info_vmar], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
zx_object_get_info$ZX_INFO_JOB_CHILDREN(handle zx_job, topic const[ZX_INFO_JOB_CHILDREN], buffer ptr[out, array[koid]], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
zx_object_get_info$ZX_INFO_JOB_PROCESSES(handle zx_job, topic const[ZX_INFO_JOB_PROCESSES], buffer ptr[out, zx_info_thread], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
zx_object_get_info$ZX_INFO_THREAD_EXCEPTION_REPORT(handle zx_thread, topic const[ZX_INFO_THREAD_EXCEPTION_REPORT], buffer ptr[out, zx_exception_report], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
zx_object_get_info$ZX_INFO_TASK_STATS(handle zx_process, topic const[ZX_INFO_TASK_STATS], buffer ptr[out, zx_info_task_stats], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
zx_object_get_info$ZX_INFO_PROCESS_MAPS(handle zx_process, topic const[ZX_INFO_PROCESS_MAPS], buffer ptr[out, array[zx_info_maps]], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
zx_object_get_info$ZX_INFO_PROCESS_VMOS(handle zx_process, topic const[ZX_INFO_PROCESS_VMOS], buffer ptr[out, array[zx_info_vmo]], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
zx_object_get_info$ZX_INFO_THREAD_STATS(handle zx_thread, topic const[ZX_INFO_THREAD_STATS], buffer ptr[out, zx_info_thread_stats], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
zx_object_get_info$ZX_INFO_CPU_STATS(root_resource zx_root_resource, topic const[ZX_INFO_CPU_STATS], buffer ptr[out, array[zx_info_cpu_stats]], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
zx_object_get_info$ZX_INFO_KMEM_STATS(root_resource zx_root_resource, topic const[ZX_INFO_KMEM_STATS], buffer ptr[out, zx_info_kmem_stats], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
# TODO: what is handle type here?
|
|
zx_object_get_info$ZX_INFO_RESOURCE(resource_handle zx_handle, topic const[ZX_INFO_RESOURCE], buffer ptr[out, zx_info_resource], buffer_size bytesize[buffer], actual ptr[out, intptr], avail ptr[out, intptr])
|
|
# TODO: detail properties
|
|
zx_object_get_property(handle zx_handle, property int32, value ptr[out, array[int8]], size len[value])
|
|
zx_object_set_property(handle zx_handle, property int32, value ptr[in, array[int8]], size len[value])
|
|
zx_object_signal(handle zx_handle, clear_mask int32, set_mask int32)
|
|
zx_object_signal_peer(handle zx_handle, clear_mask int32, set_mask int32)
|
|
zx_object_wait_one(handle zx_handle, signals int32, deadline zx_time, observed ptr[out, int32])
|
|
zx_object_wait_async(handle zx_handle, port zx_port, key proc[1000, 4], signals int32, options flags[wait_async_options])
|
|
zx_object_wait_many(items ptr[in, array[zx_wait_item]], count len[items], deadline zx_time)
|
|
zx_object_set_profile(handle zx_handle, profile zx_handle, options int32)
|
|
|
|
wait_async_options = ZX_WAIT_ASYNC_ONCE, ZX_WAIT_ASYNC_REPEATING
|
|
|
|
zx_info_handle_basic {
|
|
koid koid
|
|
rights int32
|
|
type int32
|
|
related_koid koid
|
|
props int32
|
|
}
|
|
|
|
zx_info_process {
|
|
return_code int32
|
|
started int8
|
|
exited int8
|
|
debugger_attached int8
|
|
}
|
|
|
|
zx_info_vmar {
|
|
base intptr
|
|
len intptr
|
|
}
|
|
|
|
zx_info_thread {
|
|
state int32
|
|
wait_exception_port_type int32
|
|
}
|
|
|
|
zx_info_thread_stats {
|
|
total_runtime int64
|
|
}
|
|
|
|
zx_info_task_stats {
|
|
mem_mapped_bytes intptr
|
|
mem_private_bytes intptr
|
|
mem_shared_bytes intptr
|
|
mem_scaled_shared_bytes intptr
|
|
}
|
|
|
|
zx_info_maps {
|
|
name array[int8, ZX_MAX_NAME_LEN]
|
|
base intptr
|
|
size intptr
|
|
depth intptr
|
|
type int32
|
|
mapping zx_info_maps_mapping
|
|
}
|
|
|
|
zx_info_maps_mapping {
|
|
mmu_flags int32
|
|
vmo_koid koid
|
|
committed_pages intptr
|
|
}
|
|
|
|
zx_info_vmo {
|
|
koid koid
|
|
name array[int8, ZX_MAX_NAME_LEN]
|
|
size_bytes int64
|
|
parent_koid koid
|
|
num_children intptr
|
|
num_mappings intptr
|
|
share_count intptr
|
|
flags int32
|
|
committed_bytes int64
|
|
handle_rights int32
|
|
}
|
|
|
|
zx_info_cpu_stats {
|
|
cpu_number int32
|
|
flags int32
|
|
idle_time int64
|
|
reschedules int64
|
|
context_switches int64
|
|
irq_preempts int64
|
|
preempts int64
|
|
yields int64
|
|
ints int64
|
|
timer_ints int64
|
|
timers int64
|
|
page_faults int64
|
|
exceptions int64
|
|
syscalls int64
|
|
reschedule_ipis int64
|
|
generic_ipis int64
|
|
}
|
|
|
|
zx_info_kmem_stats {
|
|
total_bytes int64
|
|
free_bytes int64
|
|
wired_bytes int64
|
|
|
|
total_heap_bytes int64
|
|
free_heap_bytes int64
|
|
vmo_bytes int64
|
|
mmu_overhead_bytes int64
|
|
other_bytes int64
|
|
}
|
|
|
|
zx_info_resource {
|
|
kind int32
|
|
low int64
|
|
high int64
|
|
}
|
|
|
|
zx_exception_report {
|
|
header zx_exception_header
|
|
context zx_exception_context
|
|
}
|
|
|
|
zx_exception_header {
|
|
size int32
|
|
type int32
|
|
}
|
|
|
|
zx_exception_context [
|
|
x86_64 x86_64_exc_data
|
|
arm_64 arm64_exc_data
|
|
]
|
|
|
|
x86_64_exc_data {
|
|
vector int64
|
|
err_code int64
|
|
cr2 int64
|
|
}
|
|
|
|
arm64_exc_data {
|
|
esr int32
|
|
far int64
|
|
}
|
|
|
|
zx_wait_item {
|
|
handle zx_handle
|
|
waitfor int32
|
|
pending int32
|
|
}
|