From: Sean Christopherson Date: Sat, 1 Feb 2025 01:38:26 +0000 (-0800) Subject: KVM: x86: Setup Hyper-V TSC page before Xen PV clocks (during clock update) X-Git-Tag: v6.15-rc1~195^2~5^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=847d68abf10c7dc930551318ea41ec96144b8fd6;p=thirdparty%2Fkernel%2Flinux.git KVM: x86: Setup Hyper-V TSC page before Xen PV clocks (during clock update) When updating paravirtual clocks, setup the Hyper-V TSC page before Xen PV clocks. This will allow dropping xen_pvclock_tsc_unstable in favor of simply clearing PVCLOCK_TSC_STABLE_BIT in the reference flags. Reviewed-by: Vitaly Kuznetsov Reviewed-by: Paul Durrant Link: https://lore.kernel.org/r/20250201013827.680235-11-seanjc@google.com Signed-off-by: Sean Christopherson --- diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index bdc6f449f1925..eefd68f8a6f8b 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -3280,6 +3280,8 @@ static int kvm_guest_time_update(struct kvm_vcpu *v) hv_clock.flags &= ~PVCLOCK_GUEST_STOPPED; } + kvm_hv_setup_tsc_page(v->kvm, &hv_clock); + #ifdef CONFIG_KVM_XEN if (vcpu->xen.vcpu_info_cache.active) kvm_setup_guest_pvclock(&hv_clock, v, &vcpu->xen.vcpu_info_cache, @@ -3289,7 +3291,6 @@ static int kvm_guest_time_update(struct kvm_vcpu *v) kvm_setup_guest_pvclock(&hv_clock, v, &vcpu->xen.vcpu_time_info_cache, 0, xen_pvclock_tsc_unstable); #endif - kvm_hv_setup_tsc_page(v->kvm, &hv_clock); return 0; }