aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2009-09-16 09:24:19 -0400
committerAvi Kivity <avi@redhat.com>2009-12-03 02:32:12 -0500
commite935d48e1b49451490218e1181d9834176200955 (patch)
treebf852b3705300973bc440daa7ce74b0240149093
parent33527ad7e12a5cb50b39165945464600ab2f7632 (diff)
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>
-rw-r--r--arch/x86/kvm/svm.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 41c996ab87e9..9a4dacab6d8a 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -763,14 +763,13 @@ static void svm_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
763 int i; 763 int i;
764 764
765 if (unlikely(cpu != vcpu->cpu)) { 765 if (unlikely(cpu != vcpu->cpu)) {
766 u64 tsc_this, delta; 766 u64 delta;
767 767
768 /* 768 /*
769 * Make sure that the guest sees a monotonically 769 * Make sure that the guest sees a monotonically
770 * increasing TSC. 770 * increasing TSC.
771 */ 771 */
772 rdtscll(tsc_this); 772 delta = vcpu->arch.host_tsc - native_read_tsc();
773 delta = vcpu->arch.host_tsc - tsc_this;
774 svm->vmcb->control.tsc_offset += delta; 773 svm->vmcb->control.tsc_offset += delta;
775 if (is_nested(svm)) 774 if (is_nested(svm))
776 svm->nested.hsave->control.tsc_offset += delta; 775 svm->nested.hsave->control.tsc_offset += delta;
@@ -792,7 +791,7 @@ static void svm_vcpu_put(struct kvm_vcpu *vcpu)
792 for (i = 0; i < NR_HOST_SAVE_USER_MSRS; i++) 791 for (i = 0; i < NR_HOST_SAVE_USER_MSRS; i++)
793 wrmsrl(host_save_user_msrs[i], svm->host_user_msrs[i]); 792 wrmsrl(host_save_user_msrs[i], svm->host_user_msrs[i]);
794 793
795 rdtscll(vcpu->arch.host_tsc); 794 vcpu->arch.host_tsc = native_read_tsc();
796} 795}
797 796
798static unsigned long svm_get_rflags(struct kvm_vcpu *vcpu) 797static unsigned long svm_get_rflags(struct kvm_vcpu *vcpu)