aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/x86.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kvm/x86.c')
-rw-r--r--arch/x86/kvm/x86.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 0334b250e102..3f3fba58c960 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -1490,7 +1490,7 @@ static void kvm_track_tsc_matching(struct kvm_vcpu *vcpu)
1490 1490
1491static void update_ia32_tsc_adjust_msr(struct kvm_vcpu *vcpu, s64 offset) 1491static void update_ia32_tsc_adjust_msr(struct kvm_vcpu *vcpu, s64 offset)
1492{ 1492{
1493 u64 curr_offset = vcpu->arch.tsc_offset; 1493 u64 curr_offset = kvm_x86_ops->read_l1_tsc_offset(vcpu);
1494 vcpu->arch.ia32_tsc_adjust_msr += offset - curr_offset; 1494 vcpu->arch.ia32_tsc_adjust_msr += offset - curr_offset;
1495} 1495}
1496 1496
@@ -1532,7 +1532,9 @@ static u64 kvm_compute_tsc_offset(struct kvm_vcpu *vcpu, u64 target_tsc)
1532 1532
1533u64 kvm_read_l1_tsc(struct kvm_vcpu *vcpu, u64 host_tsc) 1533u64 kvm_read_l1_tsc(struct kvm_vcpu *vcpu, u64 host_tsc)
1534{ 1534{
1535 return vcpu->arch.tsc_offset + kvm_scale_tsc(vcpu, host_tsc); 1535 u64 tsc_offset = kvm_x86_ops->read_l1_tsc_offset(vcpu);
1536
1537 return tsc_offset + kvm_scale_tsc(vcpu, host_tsc);
1536} 1538}
1537EXPORT_SYMBOL_GPL(kvm_read_l1_tsc); 1539EXPORT_SYMBOL_GPL(kvm_read_l1_tsc);
1538 1540