> -----Original Message-----
> From: Marc Zyngier <[email protected]>
> Sent: Wednesday, August 19, 2020 6:00 PM
> To: Jianyong Wu <[email protected]>
> Cc: Paolo Bonzini <[email protected]>; Peng Hao
> <[email protected]>; [email protected];
> [email protected]; Will Deacon <[email protected]>; Catalin Marinas
> <[email protected]>; Alexander Graf <[email protected]>;
> [email protected]; [email protected]
> Subject: Re: [PATCH 47/56] KVM: arm64: timers: Move timer registers to the
> sys_regs file
> 
> On 2020-08-19 10:24, Jianyong Wu wrote:
> > Hi Marc,
> >
> > -----Original Message-----
> > From: [email protected]
> > <[email protected]> On Behalf Of Marc Zyngier
> > Sent: Thursday, August 6, 2020 1:57 AM
> > To: Paolo Bonzini <[email protected]>
> > Cc: Peng Hao <[email protected]>; [email protected];
> > [email protected]; Will Deacon <[email protected]>; Catalin Marinas
> > <[email protected]>; Alexander Graf <[email protected]>;
> > [email protected]; [email protected]
> > Subject: [PATCH 47/56] KVM: arm64: timers: Move timer registers to the
> > sys_regs file
> >
> > Move the timer gsisters to the sysreg file. This will further help
> > when they are directly changed by a nesting hypervisor in the VNCR
> > page.
> >
> > This requires moving the initialisation of the timer struct so that
> > some of the helpers (such as arch_timer_ctx_index) can work correctly
> > at an early stage.
> >
> > Signed-off-by: Marc Zyngier <[email protected]>
> > ---
> >  arch/arm64/include/asm/kvm_host.h |   6 ++
> >  arch/arm64/kvm/arch_timer.c       | 155 +++++++++++++++++++++++-------
> >  arch/arm64/kvm/trace_arm.h        |   8 +-
> >  include/kvm/arm_arch_timer.h      |  11 +--
> >  4 files changed, 136 insertions(+), 44 deletions(-)
> >
> > +static u64 timer_get_offset(struct arch_timer_context *ctxt) {
> > +   struct kvm_vcpu *vcpu = ctxt->vcpu;
> > +
> > +   switch(arch_timer_ctx_index(ctxt)) {
> > +   case TIMER_VTIMER:
> > +           return __vcpu_sys_reg(vcpu, CNTVOFF_EL2);
> > +   default:
> > +           return 0;
> > +   }
> > +}
> > +
> > Can I export this helper? As in my ptp_kvm implementation I need get
> > VCNT offset value separately not just give me a result of VCNT.
> 
> Sorry, you need to give me a bit more context. What do you need the offset
> for exactly?

Yeah,
In my ptp_kvm implementation, I need acquire wall time and counter cycle in the 
same time in host. After get host counter cycle, I need subtract it by VCNT 
offset to obtain VCNT. See https://lkml.org/lkml/2020/6/19/441 
https://lkml.org/lkml/2020/6/19/441
But now I can't get the VCNT offset easily like before using " 
vcpu_vtimer(vcpu)->cntvoff" and I can't use the helper like 
"kvm_arm_timer_read" as I need acquire the counter cycle in the same time with 
the host wall time.

Thanks
Jianyong

> 
>          M.
> --
> Jazz is not dead. It just smells funny...
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to