Convert the Xen pvclock reads to the "map local" CLASS() APIs, using a read-only variants as KVM simply copying data from the pvclock. No functional change intended. Signed-off-by: Sean Christopherson --- arch/x86/kvm/xen.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/arch/x86/kvm/xen.c b/arch/x86/kvm/xen.c index 47750316f132..89daad3fe712 100644 --- a/arch/x86/kvm/xen.c +++ b/arch/x86/kvm/xen.c @@ -153,21 +153,11 @@ static int xen_get_guest_pvclock(struct kvm_vcpu *vcpu, struct gfn_to_pfn_cache *gpc, unsigned int offset) { - int r; + CLASS(gpc_map_local_ro, pvclock_map)(gpc, offset + sizeof(*hv_clock)); + if (IS_ERR(pvclock_map)) + return PTR_ERR(pvclock_map); - read_lock(&gpc->lock); - while (!kvm_gpc_check(gpc, offset + sizeof(*hv_clock))) { - read_unlock(&gpc->lock); - - r = kvm_gpc_refresh(gpc, offset + sizeof(*hv_clock)); - if (r) - return r; - - read_lock(&gpc->lock); - } - - memcpy(hv_clock, gpc->khva + offset, sizeof(*hv_clock)); - read_unlock(&gpc->lock); + memcpy(hv_clock, *pvclock_map + offset, sizeof(*hv_clock)); /* * Sanity check TSC shift+multiplier to verify the guest's view of time -- 2.54.0.823.g6e5bcc1fc9-goog