On 09/10/19 10:18, Jianyong Wu (Arm Technology China) wrote: > Hi Paolo, > >> -----Original Message----- >> From: Paolo Bonzini <pbonz...@redhat.com> >> Sent: Wednesday, October 9, 2019 2:36 PM >> To: Jianyong Wu (Arm Technology China) <jianyong...@arm.com>; Marc >> Zyngier <m...@kernel.org>; net...@vger.kernel.org; yangbo...@nxp.com; >> john.stu...@linaro.org; t...@linutronix.de; sean.j.christopher...@intel.com; >> richardcoch...@gmail.com; Mark Rutland <mark.rutl...@arm.com>; Will >> Deacon <will.dea...@arm.com>; Suzuki Poulose >> <suzuki.poul...@arm.com> >> Cc: linux-kernel@vger.kernel.org; k...@vger.kernel.org; Steve Capper >> <steve.cap...@arm.com>; Kaly Xin (Arm Technology China) >> <kaly....@arm.com>; Justin He (Arm Technology China) >> <justin...@arm.com>; nd <n...@arm.com>; linux-arm- >> ker...@lists.infradead.org >> 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