From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH] xen: arm: vtimer fixes for arm64 Date: Fri, 06 Dec 2013 16:30:25 +0000 Message-ID: <52A1FBA1.7060402@linaro.org> References: <1386248297-16577-1-git-send-email-ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1386248297-16577-1-git-send-email-ian.campbell@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell , xen-devel@lists.xen.org Cc: tim@xen.org, stefano.stabellini@eu.citrix.com List-Id: xen-devel@lists.xenproject.org On 12/05/2013 12:58 PM, Ian Campbell wrote: > The code was writing back the register, even for writes and didn't implement > CNTPCT at all. > > Signed-off-by: Ian Campbell > --- > xen/arch/arm/vtimer.c | 51 ++++++++++++++++++++++++++++++++++--------------- > 1 file changed, 36 insertions(+), 15 deletions(-) > > diff --git a/xen/arch/arm/vtimer.c b/xen/arch/arm/vtimer.c > index f323453..dcda2b2 100644 > --- a/xen/arch/arm/vtimer.c > +++ b/xen/arch/arm/vtimer.c > @@ -165,6 +165,27 @@ static void vtimer_cntp_tval(struct cpu_user_regs *regs, uint32_t *r, int read) > } > } > > +static int vtimer_cntpct(struct cpu_user_regs *regs, uint64_t *r, int read) > +{ > + struct vcpu *v = current; > + uint64_t ticks; > + s_time_t now; > + > + if ( read ) > + { > + now = NOW() - v->domain->arch.phys_timer_base.offset; > + ticks = ns_to_ticks(now); > + *r = ticks; > + return 1; > + } > + else > + { > + gdprintk(XENLOG_DEBUG, "READ from R/O CNTPCT\n"); s/READ/WRITE/ ? Except this minor typo: Acked-by: Julien Grall -- Julien Grall