blob: 53ac04be4e887aafdfa784bf4334806b2e2edfdf [file] [log] [blame]
From mtosatti@redhat.com Wed Oct 20 13:29:22 2010
From: Marcelo Tosatti <mtosatti@redhat.com>
Date: Thu, 14 Oct 2010 13:49:56 -0300
Subject: KVM: x86: Fix SVM VMCB reset
To: greg@kroah.com
Cc: Zachary Amsden <zamsden@redhat.com>, mtosatti@redhat.com, avi@redhat.com, stable@kernel.org
Message-ID: <20101014165150.717991626@redhat.com>
From: Marcelo Tosatti <mtosatti@redhat.com>
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>
---
arch/x86/kvm/svm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -766,7 +766,7 @@ static void init_vmcb(struct vcpu_svm *s
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);