From: Ian Campbell Date: Tue, 9 Oct 2012 14:05:39 +0000 (+0100) Subject: arm/vtimer: convert result to ticks when reading CNTPCT register X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~7766 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=55ba3b2be653e85e73cbad96f5cd2e5307e83730;p=xen.git arm/vtimer: convert result to ticks when reading CNTPCT register Signed-off-by: Ian Campbell Acked-by: Tim Deegan Committed-by: Ian Campbell --- 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