summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZachary Amsden <zamsden@redhat.com>2010-10-28 16:48:14 -0200
committerGreg Kroah-Hartman <gregkh@suse.de>2010-11-22 10:47:34 -0800
commit60977a7ab5c850828eccad4ce711f499a1918599 (patch)
treed362d2b43b426f989ab55f7ab3ff4e05852d39bf
parentcd80c840270c7b57bc38d6e2e1647e84ce23075d (diff)
KVM: x86: Fix SVM VMCB reset
commit 58877679fd393d3ef71aa383031ac7817561463d upstream. On reset, VMCB TSC should be set to zero. Instead, code was setting tsc_offset to zero, which passes through the underlying TSC. Signed-off-by: Zachary Amsden <zamsden@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--arch/x86/kvm/svm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 925c326cab5b..b15fab64ebd7 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -621,7 +621,7 @@ static void init_vmcb(struct vcpu_svm *svm)
control->iopm_base_pa = iopm_base;
control->msrpm_base_pa = __pa(svm->msrpm);
- control->tsc_offset = 0;
+ control->tsc_offset = 0-native_read_tsc();
control->int_ctl = V_INTR_MASKING_MASK;
init_seg(&save->es);