From 55ba3b2be653e85e73cbad96f5cd2e5307e83730 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Tue, 9 Oct 2012 15:05:39 +0100 Subject: [PATCH] arm/vtimer: convert result to ticks when reading CNTPCT register Signed-off-by: Ian Campbell Acked-by: Tim Deegan Committed-by: Ian Campbell --- xen/arch/arm/vtimer.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/vtimer.c b/xen/arch/arm/vtimer.c index 6b1152e483..490b021342 100644 --- a/xen/arch/arm/vtimer.c +++ b/xen/arch/arm/vtimer.c @@ -103,6 +103,7 @@ static int vtimer_emulate_64(struct cpu_user_regs *regs, union hsr hsr) struct hsr_cp64 cp64 = hsr.cp64; uint32_t *r1 = ®s->r0 + cp64.reg1; uint32_t *r2 = ®s->r0 + cp64.reg2; + uint64_t ticks; s_time_t now; switch ( hsr.bits & HSR_CP64_REGS_MASK ) @@ -111,8 +112,9 @@ static int vtimer_emulate_64(struct cpu_user_regs *regs, union hsr hsr) if ( cp64.read ) { now = NOW() - v->arch.vtimer.offset; - *r1 = (uint32_t)(now & 0xffffffff); - *r2 = (uint32_t)(now >> 32); + ticks = ns_to_ticks(now); + *r1 = (uint32_t)(ticks & 0xffffffff); + *r2 = (uint32_t)(ticks >> 32); return 1; } else -- 2.30.2