From: Razvan Deaconescu Date: Sun, 14 Feb 2021 19:50:13 +0000 (+0200) Subject: lib/uktime: Register time syscall to syscall shim X-Git-Tag: RELEASE-0.6~222 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=00ca344fcb38b7ab089a1cb4f2c1379e16706d83;p=unikraft%2Funikraft.git lib/uktime: Register time syscall to syscall shim Signed-off-by: Razvan Deaconescu Reviewed-by: Sergiu Moga Tested-by: Unikraft CI GitHub-Pull-Request: #124 --- diff --git a/lib/uktime/Makefile.uk b/lib/uktime/Makefile.uk index 630e4e886..6ff069779 100644 --- a/lib/uktime/Makefile.uk +++ b/lib/uktime/Makefile.uk @@ -17,3 +17,4 @@ UK_PROVIDED_SYSCALLS-$(CONFIG_LIBUKTIME) += nanosleep-2 UK_PROVIDED_SYSCALLS-$(CONFIG_LIBUKTIME) += clock_gettime-2 UK_PROVIDED_SYSCALLS-$(CONFIG_LIBUKTIME) += gettimeofday-2 UK_PROVIDED_SYSCALLS-$(CONFIG_LIBUKTIME) += times-1 +UK_PROVIDED_SYSCALLS-$(CONFIG_LIBUKTIME) += time-1 diff --git a/lib/uktime/exportsyms.uk b/lib/uktime/exportsyms.uk index 0e9fa7362..8d6c584fa 100644 --- a/lib/uktime/exportsyms.uk +++ b/lib/uktime/exportsyms.uk @@ -22,3 +22,6 @@ timer_delete timer_settime timer_gettime timer_getoverrun +time +uk_syscall_e_time +uk_syscall_r_time diff --git a/lib/uktime/time.c b/lib/uktime/time.c index 1947caa34..188d31dba 100644 --- a/lib/uktime/time.c +++ b/lib/uktime/time.c @@ -123,6 +123,16 @@ unsigned int sleep(unsigned int seconds) return 0; } +UK_SYSCALL_R_DEFINE(time_t, time, time_t *, tloc) +{ + time_t secs = ukarch_time_nsec_to_sec(ukplat_wall_clock()); + + if (tloc) + *tloc = secs; + + return secs; +} + UK_SYSCALL_R_DEFINE(int, gettimeofday, struct timeval *, tv, void *, tz) { __nsec now = ukplat_wall_clock();