| From a6f25347e9a8ee717f2c662a721efdc138f3669b Mon Sep 17 00:00:00 2001 |
| From: Zachary Amsden <zamsden@redhat.com> |
| Date: Thu, 19 Aug 2010 22:07:18 -1000 |
| Subject: [PATCH] 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: Paul Gortmaker <paul.gortmaker@windriver.com> |
| --- |
| arch/x86/kvm/svm.c | 2 +- |
| 1 files changed, 1 insertions(+), 1 deletions(-) |
| |
| diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c |
| index 49dabc1..508e136 100644 |
| --- a/arch/x86/kvm/svm.c |
| +++ b/arch/x86/kvm/svm.c |
| @@ -632,7 +632,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); |
| -- |
| 1.7.0.4 |
| |