cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

uptimeofday.c (735B)


      1// SPDX-License-Identifier: LGPL-2.1+
      2// Copyright (C) 2022, Linaro Ltd - Daniel Lezcano <daniel.lezcano@linaro.org>
      3#include <stdio.h>
      4#include <sys/time.h>
      5#include <linux/sysinfo.h>
      6#include "thermal-tools.h"
      7
      8static unsigned long __offset;
      9static struct timeval __tv;
     10
     11int uptimeofday_init(void)
     12{
     13	struct sysinfo info;
     14
     15	if (sysinfo(&info))
     16		return -1;
     17
     18	gettimeofday(&__tv, NULL);
     19
     20	__offset = __tv.tv_sec - info.uptime;
     21
     22	return 0;
     23}
     24
     25unsigned long getuptimeofday_ms(void)
     26{
     27	gettimeofday(&__tv, NULL);
     28
     29	return ((__tv.tv_sec - __offset) * 1000) + (__tv.tv_usec / 1000);
     30}
     31
     32struct timespec msec_to_timespec(int msec)
     33{
     34	struct timespec tv = {
     35		.tv_sec = (msec / 1000),
     36		.tv_nsec = (msec % 1000) * 1000000,
     37	};
     38
     39	return tv;
     40}