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

Reply via email to