Skip to content

Commit 46aed4d

Browse files
committed
KVM: x86: Pass reference pvclock as a param to kvm_setup_guest_pvclock()
Pass the reference pvclock structure that's used to setup each individual pvclock as a parameter to kvm_setup_guest_pvclock() as a preparatory step toward removing kvm_vcpu_arch.hv_clock. No functional change intended. Reviewed-by: Paul Durrant <paul@xen.org> Link: https://lore.kernel.org/r/20250201013827.680235-9-seanjc@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
1 parent 93fb0b1 commit 46aed4d

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

arch/x86/kvm/x86.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3116,17 +3116,17 @@ u64 get_kvmclock_ns(struct kvm *kvm)
31163116
return data.clock;
31173117
}
31183118

3119-
static void kvm_setup_guest_pvclock(struct kvm_vcpu *v,
3119+
static void kvm_setup_guest_pvclock(struct pvclock_vcpu_time_info *ref_hv_clock,
3120+
struct kvm_vcpu *vcpu,
31203121
struct gfn_to_pfn_cache *gpc,
31213122
unsigned int offset,
31223123
bool force_tsc_unstable)
31233124
{
3124-
struct kvm_vcpu_arch *vcpu = &v->arch;
31253125
struct pvclock_vcpu_time_info *guest_hv_clock;
31263126
struct pvclock_vcpu_time_info hv_clock;
31273127
unsigned long flags;
31283128

3129-
memcpy(&hv_clock, &vcpu->hv_clock, sizeof(hv_clock));
3129+
memcpy(&hv_clock, ref_hv_clock, sizeof(hv_clock));
31303130

31313131
read_lock_irqsave(&gpc->lock, flags);
31323132
while (!kvm_gpc_check(gpc, offset + sizeof(*guest_hv_clock))) {
@@ -3165,7 +3165,7 @@ static void kvm_setup_guest_pvclock(struct kvm_vcpu *v,
31653165
kvm_gpc_mark_dirty_in_slot(gpc);
31663166
read_unlock_irqrestore(&gpc->lock, flags);
31673167

3168-
trace_kvm_pvclock_update(v->vcpu_id, &hv_clock);
3168+
trace_kvm_pvclock_update(vcpu->vcpu_id, &hv_clock);
31693169
}
31703170

31713171
static int kvm_guest_time_update(struct kvm_vcpu *v)
@@ -3272,18 +3272,18 @@ static int kvm_guest_time_update(struct kvm_vcpu *v)
32723272
vcpu->hv_clock.flags |= PVCLOCK_GUEST_STOPPED;
32733273
vcpu->pvclock_set_guest_stopped_request = false;
32743274
}
3275-
kvm_setup_guest_pvclock(v, &vcpu->pv_time, 0, false);
3275+
kvm_setup_guest_pvclock(&vcpu->hv_clock, v, &vcpu->pv_time, 0, false);
32763276

32773277
vcpu->hv_clock.flags &= ~PVCLOCK_GUEST_STOPPED;
32783278
}
32793279

32803280
#ifdef CONFIG_KVM_XEN
32813281
if (vcpu->xen.vcpu_info_cache.active)
3282-
kvm_setup_guest_pvclock(v, &vcpu->xen.vcpu_info_cache,
3282+
kvm_setup_guest_pvclock(&vcpu->hv_clock, v, &vcpu->xen.vcpu_info_cache,
32833283
offsetof(struct compat_vcpu_info, time),
32843284
xen_pvclock_tsc_unstable);
32853285
if (vcpu->xen.vcpu_time_info_cache.active)
3286-
kvm_setup_guest_pvclock(v, &vcpu->xen.vcpu_time_info_cache, 0,
3286+
kvm_setup_guest_pvclock(&vcpu->hv_clock, v, &vcpu->xen.vcpu_time_info_cache, 0,
32873287
xen_pvclock_tsc_unstable);
32883288
#endif
32893289
kvm_hv_setup_tsc_page(v->kvm, &vcpu->hv_clock);

0 commit comments

Comments
 (0)