From 22b60cea14f9d1f28343f40a3f95b6995e60e80d Mon Sep 17 00:00:00 2001 From: Dzmitry Date: Wed, 17 Aug 2022 08:53:29 -0700 Subject: Update clock, resource and smc system calls (#3316) * sys/fuchsia: add clock system calls Renames time.txt to clock.txt Updates `zx_clock_read` and adds new ones: `zx_clock_get_details` and `zx_clock_update` * sys/fuchsia: add the resource system call * sys/fuchsia: add the smc system call --- sys/fuchsia/clock.txt | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 sys/fuchsia/clock.txt (limited to 'sys/fuchsia/clock.txt') diff --git a/sys/fuchsia/clock.txt b/sys/fuchsia/clock.txt new file mode 100644 index 000000000..4bdc0d34e --- /dev/null +++ b/sys/fuchsia/clock.txt @@ -0,0 +1,54 @@ +# Copyright 2022 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 +include + +resource zx_time[int64]: 0, ZX_TIME_INFINITE + +zx_clock_get_monotonic() (ignore_return) +zx_clock_get_monotonic_via_kernel() (ignore_return) +zx_clock_create(option flags[clock_create_opt], args ptr[in, zx_clock_create_args_v1], out ptr[out, zx_handle]) +zx_clock_read(handle zx_handle, now ptr[out, intptr]) (ignore_return) +zx_clock_get_details(handle zx_handle, option const[0x400000000000000], details ptr[out, zx_clock_details_v1]) +zx_clock_update(handle zx_handle, option flags[clock_update_opt], args ptr[in, zx_clock_update_args_v2]) + +clock_create_opt = ZX_CLOCK_OPT_MONOTONIC, ZX_CLOCK_OPT_CONTINUOUS, ZX_CLOCK_OPT_AUTO_START +clock_update_opt = 0x800000000000000, ZX_CLOCK_UPDATE_OPTION_SYNTHETIC_VALUE_VALID, ZX_CLOCK_UPDATE_OPTION_REFERENCE_VALUE_VALID, ZX_CLOCK_UPDATE_OPTION_RATE_ADJUST_VALID, ZX_CLOCK_UPDATE_OPTION_ERROR_BOUND_VALID + +zx_clock_update_args_v2 { + rate_adjust int32 + padding int32 + synthetic_value int64 + reference_value int64 + error_bound int64 +} + +zx_clock_create_args_v1 { + backstop_time zx_time +} + +zx_clock_rate { + synthetic_ticks int32 + reference_ticks int32 +} + +zx_clock_transformation { + reference_offset int64 + synthetic_offset int64 + rate zx_clock_rate +} + +zx_clock_details_v1 { + options int64 + backstop_time zx_time + ticks_to_synthetic zx_clock_transformation + mono_to_synthetic zx_clock_transformation + error_bound int64 + query_ticks int64 + last_value_update_ticks int64 + last_rate_adjust_update_ticks int64 + last_error_bounds_update_ticks int64 + generation_counter int32 + padding1 int32 +} -- cgit mrf-deployment