| 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); |