On 09/10/19 10:18, Jianyong Wu (Arm Technology China) wrote: > Hi Paolo, > >> -----Original Message----- >> From: Paolo Bonzini <pbonzini@xxxxxxxxxx> >> Sent: Wednesday, October 9, 2019 2:36 PM >> To: Jianyong Wu (Arm Technology China) <Jianyong.Wu@xxxxxxx>; Marc >> Zyngier <maz@xxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx; yangbo.lu@xxxxxxx; >> john.stultz@xxxxxxxxxx; tglx@xxxxxxxxxxxxx; sean.j.christopherson@xxxxxxxxx; >> richardcochran@xxxxxxxxx; Mark Rutland <Mark.Rutland@xxxxxxx>; Will >> Deacon <Will.Deacon@xxxxxxx>; Suzuki Poulose >> <Suzuki.Poulose@xxxxxxx> >> Cc: linux-kernel@xxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; Steve Capper >> <Steve.Capper@xxxxxxx>; Kaly Xin (Arm Technology China) >> <Kaly.Xin@xxxxxxx>; Justin He (Arm Technology China) >> <Justin.He@xxxxxxx>; nd <nd@xxxxxxx>; linux-arm- >> kernel@xxxxxxxxxxxxxxxxxxx >> Subject: Re: [RFC PATCH v3 4/6] psci: Add hvc call service for ptp_kvm. >> >> On 09/10/19 07:21, Jianyong Wu (Arm Technology China) wrote: >>> As ptp_kvm clock has fixed to arm arch system counter in patch set v4, >>> we need check if the current clocksource is system counter when return >>> clock cycle in host, so a helper needed to return the current >>> clocksource. Could I add this helper in next patch set? >> >> You don't need a helper. You need to return the ARM arch counter >> clocksource in the struct system_counterval_t that you return. >> get_device_system_crosststamp will then check that the clocksource >> matches the active one. > > We must ensure both of the host and guest using the same clocksource. > get_device_system_crosststamp will check the clocksource of guest and we also need check > the clocksource in host, and struct type can't be transferred from host to guest using arm hypercall. > now we lack of a mechanism to check the current clocksource. I think this will be useful if we add one. Got it---yes, I think adding a struct clocksource to struct system_time_snapshot would make sense. Then the hypercall can just use ktime_get_snapshot and fail if the clocksource is not the ARM arch counter. John (Stultz), does that sound good to you? The context is that Jianyong would like to add a hypercall that returns a (cycles, nanoseconds) pair to the guest. On x86 we're relying on the vclock_mode field that is already there for the vDSO, but being able to just use ktime_get_snapshot would be much nicer. Paolo