On Wed, Oct 9, 2019 at 2:13 AM Paolo Bonzini <pbonz...@redhat.com> wrote: > On 09/10/19 10:18, Jianyong Wu (Arm Technology China) wrote: > > > > 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.
I've not really looked at the code closely in awhile, so I'm not sure my suggestions will be too useful. My only instinct is maybe to not include the clocksource pointer in the system_time_snapshot, as I worry that structure will then be abused by the interface users. If you're just wanting to make sure the clocksource is what you're expecting, would instead putting only the clocksource name in the structure suffice? thanks -john