aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/arch/x86/time.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-01-21 11:20:27 +0000
committerKeir Fraser <keir.fraser@citrix.com>2008-01-21 11:20:27 +0000
commitafb13d4890c7b505865b8264247c2049fd0c2227 (patch)
tree2417cb72f24229f2ee3279ca7546ec3beae2bce3 /extras/mini-os/arch/x86/time.c
parent3e49205c7a0d947e5a9c37fabee4df1ae07d3135 (diff)
downloadxen-afb13d4890c7b505865b8264247c2049fd0c2227.tar.gz
xen-afb13d4890c7b505865b8264247c2049fd0c2227.tar.bz2
xen-afb13d4890c7b505865b8264247c2049fd0c2227.zip
minios: make time interface POSIX
timespec uses tv_sec and tv_nsec too. gettimeofday takes a tz argument. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Diffstat (limited to 'extras/mini-os/arch/x86/time.c')
-rw-r--r--extras/mini-os/arch/x86/time.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/extras/mini-os/arch/x86/time.c b/extras/mini-os/arch/x86/time.c
index 0fad40f6de..c8313705ae 100644
--- a/extras/mini-os/arch/x86/time.c
+++ b/extras/mini-os/arch/x86/time.c
@@ -175,30 +175,32 @@ static void update_wallclock(void)
do {
shadow_ts_version = s->wc_version;
rmb();
- shadow_ts.ts_sec = s->wc_sec;
- shadow_ts.ts_nsec = s->wc_nsec;
+ shadow_ts.tv_sec = s->wc_sec;
+ shadow_ts.tv_nsec = s->wc_nsec;
rmb();
}
while ((s->wc_version & 1) | (shadow_ts_version ^ s->wc_version));
}
-void gettimeofday(struct timeval *tv)
+int gettimeofday(struct timeval *tv, void *tz)
{
u64 nsec = monotonic_clock();
- nsec += shadow_ts.ts_nsec;
+ nsec += shadow_ts.tv_nsec;
- tv->tv_sec = shadow_ts.ts_sec;
+ tv->tv_sec = shadow_ts.tv_sec;
tv->tv_sec += NSEC_TO_SEC(nsec);
tv->tv_usec = NSEC_TO_USEC(nsec % 1000000000UL);
+
+ return 0;
}
void block_domain(s_time_t until)
{
struct timeval tv;
- gettimeofday(&tv);
+ gettimeofday(&tv, NULL);
if(monotonic_clock() < until)
{
HYPERVISOR_set_timer_op(until);