On 09/10/19 10:18, Jianyong Wu (Arm Technology China) wrote:
> Hi Paolo,
> 
>> -----Original Message-----
>> From: Paolo Bonzini <[email protected]>
>> Sent: Wednesday, October 9, 2019 2:36 PM
>> To: Jianyong Wu (Arm Technology China) <[email protected]>; Marc
>> Zyngier <[email protected]>; [email protected]; [email protected];
>> [email protected]; [email protected]; [email protected];
>> [email protected]; Mark Rutland <[email protected]>; Will
>> Deacon <[email protected]>; Suzuki Poulose
>> <[email protected]>
>> Cc: [email protected]; [email protected]; Steve Capper
>> <[email protected]>; Kaly Xin (Arm Technology China)
>> <[email protected]>; Justin He (Arm Technology China)
>> <[email protected]>; nd <[email protected]>; linux-arm-
>> [email protected]
>> 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