aboutsummaryrefslogtreecommitdiff
path: root/common/uapi/timers.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2022-11-21 14:02:17 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2022-11-21 14:02:17 +0200
commit62d395d206171fdaf3fa62c495633990198db6c4 (patch)
treebed68b4a0fd5ff5897f78418fd3527eb05c72ec9 /common/uapi/timers.c
parentd312c853a8c9e6e2fd457fa5f840e65a9a738e7d (diff)
downloadkmi-62d395d206171fdaf3fa62c495633990198db6c4.tar.gz
kmi-62d395d206171fdaf3fa62c495633990198db6c4.zip
possible optimisations
Diffstat (limited to 'common/uapi/timers.c')
-rw-r--r--common/uapi/timers.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/common/uapi/timers.c b/common/uapi/timers.c
index 80cef1d..b7c0ddd 100644
--- a/common/uapi/timers.c
+++ b/common/uapi/timers.c
@@ -38,13 +38,15 @@ static ticks_t scaled_ticks(sys_arg_t ticks, sys_arg_t mult)
* @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)()
+SYSCALL_DEFINE0(timebase)(struct tcb *t)
{
- ticks_t t = secs_to_ticks(1);
+ UNUSED(t);
+
+ ticks_t tm = secs_to_ticks(1);
#if defined(_LP64)
- return SYS_RET2(OK, t);
+ return SYS_RET2(OK, tm);
#else
- return SYS_RET3(OK, t >> 32, t);
+ return SYS_RET3(OK, tm >> 32, tm);
#endif
}
@@ -58,13 +60,15 @@ SYSCALL_DEFINE0(timebase)()
* @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)()
+SYSCALL_DEFINE0(ticks)(struct tcb *t)
{
- ticks_t t = current_ticks();
+ UNUSED(t);
+
+ ticks_t tm = current_ticks();
#if defined(_LP64)
- return SYS_RET2(OK, t);
+ return SYS_RET2(OK, tm);
#else
- return SYS_RET3(OK, t >> 32, t);
+ return SYS_RET3(OK, tm >> 32, tm);
#endif
}
@@ -79,11 +83,9 @@ SYSCALL_DEFINE0(ticks)()
* @param mult Multiply \c ticks by this value.
* @return \ref OK and \c cid of created timer.
*/
-SYSCALL_DEFINE2(req_rel_timer)(sys_arg_t ticks, sys_arg_t mult)
+SYSCALL_DEFINE2(req_rel_timer)(struct tcb *t, sys_arg_t ticks, sys_arg_t mult)
{
- return SYS_RET2(OK,
- new_rel_timer(cur_tcb()->tid,
- scaled_ticks(ticks, mult)));
+ return SYS_RET2(OK, new_rel_timer(t->tid, scaled_ticks(ticks, mult)));
}
/**
@@ -94,11 +96,9 @@ SYSCALL_DEFINE2(req_rel_timer)(sys_arg_t ticks, sys_arg_t mult)
* @return \ref OK and \c cid of created timer.
* \see req_rel_timer().
*/
-SYSCALL_DEFINE2(req_abs_timer)(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(cur_tcb()->tid,
- scaled_ticks(ticks, mult)));
+ return SYS_RET2(OK, new_abs_timer(t->tid, scaled_ticks(ticks, mult)));
}
/**
@@ -108,8 +108,10 @@ SYSCALL_DEFINE2(req_abs_timer)(sys_arg_t ticks, sys_arg_t mult)
* @return \ref ERR_NF and \c 0if no timer could be found with \c cid, \ref OK
* and 0 otherwise.
*/
-SYSCALL_DEFINE1(free_timer)(sys_arg_t cid)
+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);