aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/vmx.c
diff options
context:
space:
mode:
authorZachary Amsden <zamsden@redhat.com>2010-08-20 04:07:15 -0400
committerAvi Kivity <avi@redhat.com>2010-10-24 04:51:21 -0400
commitae38436b78a8abff767e2ac10e2cd663a7eef476 (patch)
treed7d68489e99f4673965379a20cf3e14ead9d0814 /arch/x86/kvm/vmx.c
parent45bf21a8ce7a2884f067a702a5c7683684846ce1 (diff)
KVM: x86: Drop vm_init_tsc
This is used only by the VMX code, and is not done properly; if the TSC is indeed backwards, it is out of sync, and will need proper handling in the logic at each and every CPU change. For now, drop this test during init as misguided. Signed-off-by: Zachary Amsden <zamsden@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/x86/kvm/vmx.c')
-rw-r--r--arch/x86/kvm/vmx.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 751a2d29f4ce..4fbab2469bf9 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -2512,7 +2512,7 @@ static int vmx_vcpu_setup(struct vcpu_vmx *vmx)
2512{ 2512{
2513 u32 host_sysenter_cs, msr_low, msr_high; 2513 u32 host_sysenter_cs, msr_low, msr_high;
2514 u32 junk; 2514 u32 junk;
2515 u64 host_pat, tsc_this, tsc_base; 2515 u64 host_pat, tsc_this;
2516 unsigned long a; 2516 unsigned long a;
2517 struct desc_ptr dt; 2517 struct desc_ptr dt;
2518 int i; 2518 int i;
@@ -2653,12 +2653,8 @@ static int vmx_vcpu_setup(struct vcpu_vmx *vmx)
2653 vmx->vcpu.arch.cr4_guest_owned_bits |= X86_CR4_PGE; 2653 vmx->vcpu.arch.cr4_guest_owned_bits |= X86_CR4_PGE;
2654 vmcs_writel(CR4_GUEST_HOST_MASK, ~vmx->vcpu.arch.cr4_guest_owned_bits); 2654 vmcs_writel(CR4_GUEST_HOST_MASK, ~vmx->vcpu.arch.cr4_guest_owned_bits);
2655 2655
2656 tsc_base = vmx->vcpu.kvm->arch.vm_init_tsc; 2656 tsc_this = native_read_tsc();
2657 rdtscll(tsc_this); 2657 guest_write_tsc(0, tsc_this);
2658 if (tsc_this < vmx->vcpu.kvm->arch.vm_init_tsc)
2659 tsc_base = tsc_this;
2660
2661 guest_write_tsc(0, tsc_base);
2662 2658
2663 return 0; 2659 return 0;
2664} 2660}