KVM: x86: Move TSC offset writes to common code
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / arch / x86 / kvm / svm.c
index e06f00d1f15c53262d1d1b1c831576561a998c04..ea41c551fa447b7ccc58b11bd5e1f7d7417b74f5 100644 (file)
@@ -915,7 +915,7 @@ static struct kvm_vcpu *svm_create_vcpu(struct kvm *kvm, unsigned int id)
        svm->vmcb_pa = page_to_pfn(page) << PAGE_SHIFT;
        svm->asid_generation = 0;
        init_vmcb(svm);
-       svm_write_tsc_offset(&svm->vcpu, 0-native_read_tsc());
+       kvm_write_tsc(&svm->vcpu, 0);
 
        err = fx_init(&svm->vcpu);
        if (err)
@@ -2581,7 +2581,7 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 data)
 
        switch (ecx) {
        case MSR_IA32_TSC:
-               svm_write_tsc_offset(vcpu, data - native_read_tsc());
+               kvm_write_tsc(vcpu, data);
                break;
        case MSR_STAR:
                svm->vmcb->save.star = data;
@@ -3551,6 +3551,8 @@ static struct kvm_x86_ops svm_x86_ops = {
        .set_supported_cpuid = svm_set_supported_cpuid,
 
        .has_wbinvd_exit = svm_has_wbinvd_exit,
+
+       .write_tsc_offset = svm_write_tsc_offset,
 };
 
 static int __init svm_init(void)