diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-11-21 17:38:57 +0200 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-11-21 17:38:57 +0200 |
| commit | e1599d8ab33f3f7d09c6a8a05f954209c969c8c1 (patch) | |
| tree | 6a7a74578dae2e7e0063474ac6aca674db9d8ea3 /common/uapi/timers.c | |
| parent | 6f5065da917a911c5e810a058d16d147c31d5fbe (diff) | |
| download | kmi-e1599d8ab33f3f7d09c6a8a05f954209c969c8c1.tar.gz kmi-e1599d8ab33f3f7d09c6a8a05f954209c969c8c1.zip | |
make syscall handlers void
Diffstat (limited to 'common/uapi/timers.c')
| -rw-r--r-- | common/uapi/timers.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/common/uapi/timers.c b/common/uapi/timers.c index b7c0ddd..929b630 100644 --- a/common/uapi/timers.c +++ b/common/uapi/timers.c @@ -35,18 +35,17 @@ static ticks_t scaled_ticks(sys_arg_t ticks, sys_arg_t mult) /** * Timebase syscall handler. * + * @param t Current tcb. * @return \ref OK and timebase in second argument if 64bit, otherwise high 32 * bits of timebase in second argument and low 32 bits in third argument. */ SYSCALL_DEFINE0(timebase)(struct tcb *t) { - UNUSED(t); - ticks_t tm = secs_to_ticks(1); #if defined(_LP64) - return SYS_RET2(OK, tm); + return_args(t, SYS_RET2(OK, tm)); #else - return SYS_RET3(OK, tm >> 32, tm); + return_args(t, SYS_RET3(OK, tm >> 32, tm)); #endif } @@ -57,18 +56,17 @@ SYSCALL_DEFINE0(timebase)(struct tcb *t) * should be preferred over this syscall on such platforms. Still, for * completeness sake. * + * @param t Current tcb. * @return \ref OK and the current ticks when on 64bit systems, otherwise high * 32 bits of ticks in second argument and low 32 bits in third. */ SYSCALL_DEFINE0(ticks)(struct tcb *t) { - UNUSED(t); - ticks_t tm = current_ticks(); #if defined(_LP64) - return SYS_RET2(OK, tm); + return_args(t, SYS_RET2(OK, tm)); #else - return SYS_RET3(OK, tm >> 32, tm); + return_args(t, SYS_RET3(OK, tm >> 32, tm)); #endif } @@ -79,18 +77,22 @@ SYSCALL_DEFINE0(ticks)(struct tcb *t) * enough to contain essentially any timepoint we want. A couple thousand years * when the clock runs at 5GHz, if I'm not completely mistaken. * + * @param t Current tcb. * @param ticks Number of ticks from now. * @param mult Multiply \c ticks by this value. * @return \ref OK and \c cid of created timer. */ SYSCALL_DEFINE2(req_rel_timer)(struct tcb *t, sys_arg_t ticks, sys_arg_t mult) { - return SYS_RET2(OK, new_rel_timer(t->tid, scaled_ticks(ticks, mult))); + return_args(t, + SYS_RET2(OK, + new_rel_timer(t->tid, scaled_ticks(ticks, mult)))); } /** * Absolute timer request syscall handler. * + * @param t Current tcb. * @param ticks Absolute timepoint relative to some start point defined at boot. * @param mult Multiply \c ticks by this value. * @return \ref OK and \c cid of created timer. @@ -98,24 +100,25 @@ SYSCALL_DEFINE2(req_rel_timer)(struct tcb *t, sys_arg_t ticks, sys_arg_t mult) */ SYSCALL_DEFINE2(req_abs_timer)(struct tcb *t, sys_arg_t ticks, sys_arg_t mult) { - return SYS_RET2(OK, new_abs_timer(t->tid, scaled_ticks(ticks, mult))); + return_args(t, + SYS_RET2(OK, + new_abs_timer(t->tid, scaled_ticks(ticks, mult)))); } /** * Free timer request syscall handler. * + * @param t Current tcb. * @param cid \c cid of timer to free. * @return \ref ERR_NF and \c 0if no timer could be found with \c cid, \ref OK * and 0 otherwise. */ SYSCALL_DEFINE1(free_timer)(struct tcb *t, sys_arg_t cid) { - UNUSED(t); - struct timer *timer = find_timer(cid); if (!timer) - return SYS_RET1(ERR_NF); + return_args(t, SYS_RET1(ERR_NF)); remove_timer(timer); - return SYS_RET1(OK); + return_args(t, SYS_RET1(OK)); } |
