Export epoch time via proc_global_info (XCC)
[akaros.git] / tools / compilers / gcc-glibc / glibc-2.19-akaros / sysdeps / akaros / clock_gettime.c
index ee246eb..2846314 100644 (file)
@@ -6,21 +6,18 @@
  *
  * TODO:
  * - consider supporting more clocks.
- * - read the TSC and add the offset in userspace (part of a generic overhaul of
- *   the time library functions).
  */
 
 #include <time.h>
 #include <sys/time.h>
+#include <parlib/timing.h>
 
 int __clock_gettime(clockid_t clk_id, struct timespec *tp)
 {
-       struct timeval tv;
+       uint64_t epoch_ns = epoch_nsec();
 
-       if (gettimeofday(&tv, 0))
-               return -1;
-       tp->tv_sec = tv.tv_sec;
-       tp->tv_nsec = tv.tv_usec * 1000;
+       tp->tv_sec = epoch_ns / 1000000000;
+       tp->tv_nsec = epoch_ns % 1000000000;
        return 0;
 }
 weak_alias(__clock_gettime, clock_gettime)