From 28adb023c281a78c5bb834c794f3e9ba63d43727 Mon Sep 17 00:00:00 2001 From: Zachary Amsden <zamsden@redhat.com> Date: Fri, 19 Nov 2010 02:18:30 -0200 Subject: [PATCH] KVM : fix AMD initial TSC bugs RH-Author: Zachary Amsden <zamsden@redhat.com> Message-id: <4CE5DE76.50204@redhat.com> Patchwork-id: 13851 O-Subject: [virt-devel] [PATCH RHEL 5.6 1/2] KVM : fix AMD initial TSC bugs Bugzilla: 642659 RH-Acked-by: Glauber Costa <glommer@redhat.com> RH-Acked-by: Jes Sorensen <Jes.Sorensen@redhat.com> >From 8235af9bf5b48a5bc9c1b56c56ce34559ce22543 Mon Sep 17 00:00:00 2001 From: Zachary Amsden <zamsden@redhat.com> Date: Thu, 18 Nov 2010 16:00:16 -1000 Subject: [PATCH 1/2] KVM: x86: Fix SVM VMCB reset Backport of upstream commit 58877679fd393d3ef71aa383031ac7817561463d Resolves: 642659 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> --- arch/x86/kvm/svm.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Signed-off-by: Eduardo Habkost <ehabkost@redhat.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 529940a..eb7e23e 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -551,7 +551,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.3.2