Browse Source

KVM: SVM: Remove remaining occurences of rdtscll

This patch replaces them with native_read_tsc() which can
also be used in expressions and saves a variable on the
stack in this case.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Joerg Roedel 15 years ago
parent
commit
e935d48e1b
1 changed files with 3 additions and 4 deletions
  1. 3 4
      arch/x86/kvm/svm.c

+ 3 - 4
arch/x86/kvm/svm.c

@@ -763,14 +763,13 @@ static void svm_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
 	int i;
 	int i;
 
 
 	if (unlikely(cpu != vcpu->cpu)) {
 	if (unlikely(cpu != vcpu->cpu)) {
-		u64 tsc_this, delta;
+		u64 delta;
 
 
 		/*
 		/*
 		 * Make sure that the guest sees a monotonically
 		 * Make sure that the guest sees a monotonically
 		 * increasing TSC.
 		 * increasing TSC.
 		 */
 		 */
-		rdtscll(tsc_this);
-		delta = vcpu->arch.host_tsc - tsc_this;
+		delta = vcpu->arch.host_tsc - native_read_tsc();
 		svm->vmcb->control.tsc_offset += delta;
 		svm->vmcb->control.tsc_offset += delta;
 		if (is_nested(svm))
 		if (is_nested(svm))
 			svm->nested.hsave->control.tsc_offset += delta;
 			svm->nested.hsave->control.tsc_offset += delta;
@@ -792,7 +791,7 @@ static void svm_vcpu_put(struct kvm_vcpu *vcpu)
 	for (i = 0; i < NR_HOST_SAVE_USER_MSRS; i++)
 	for (i = 0; i < NR_HOST_SAVE_USER_MSRS; i++)
 		wrmsrl(host_save_user_msrs[i], svm->host_user_msrs[i]);
 		wrmsrl(host_save_user_msrs[i], svm->host_user_msrs[i]);
 
 
-	rdtscll(vcpu->arch.host_tsc);
+	vcpu->arch.host_tsc = native_read_tsc();
 }
 }
 
 
 static unsigned long svm_get_rflags(struct kvm_vcpu *vcpu)
 static unsigned long svm_get_rflags(struct kvm_vcpu *vcpu)