linux/arch/x86
Marcelo Tosatti 53f658b3c3 KVM: VMX: initialize TSC offset relative to vm creation time
VMX initializes the TSC offset for each vcpu at different times, and
also reinitializes it for vcpus other than 0 on APIC SIPI message.

This bug causes the TSC's to appear unsynchronized in the guest, even if
the host is good.

Older Linux kernels don't handle the situation very well, so
gettimeofday is likely to go backwards in time:

http://www.mail-archive.com/kvm@vger.kernel.org/msg02955.html
http://sourceforge.net/tracker/index.php?func=detail&aid=2025534&group_id=180599&atid=893831

Fix it by initializating the offset of each vcpu relative to vm creation
time, and moving it from vmx_vcpu_reset to vmx_vcpu_setup, out of the
APIC MP init path.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2009-03-24 11:02:53 +02:00
..
boot x86 setup: fix asm constraints in vesa_store_edid 2009-01-30 23:55:25 +01:00
configs eeprom: More consistent symbol names 2009-01-26 21:19:57 +01:00
crypto crypto: crc32c-intel - Switch to shash 2008-12-25 11:01:37 +11:00
ia32 x86-64: fix int $0x80 -ENOSYS return 2009-02-06 18:22:29 -08:00
include/asm KVM: VMX: initialize TSC offset relative to vm creation time 2009-03-24 11:02:53 +02:00
kernel prevent boosting kprobes on exception address 2009-03-17 09:11:48 -07:00
kvm KVM: VMX: initialize TSC offset relative to vm creation time 2009-03-24 11:02:53 +02:00
lguest lguest: fix for CONFIG_SPARSE_IRQ=y 2009-03-09 10:06:29 +10:30
lib x86: use early clobbers in usercopy*.c 2009-01-21 09:43:17 +01:00
mach-default x86: Add IRQF_TIMER to legacy x86 timer interrupt descriptors 2009-02-22 10:27:49 -08:00
mach-generic x86: rename all fields of mpc_table mpc_X to X 2009-01-05 14:08:34 +01:00
mach-rdc321x
mach-voyager x86, Voyager: fix compile by lifting the degeneracy of phys_cpu_present_map 2009-02-24 12:50:11 -08:00
math-emu x86, math-emu: fix init_fpu for task != current 2009-03-04 20:33:16 +01:00
mm x86: work around Fedora-11 x86-32 kernel failures on Intel Atom CPUs 2009-03-11 18:22:03 +01:00
oprofile x86: oprofile: don't set counter width from cpuid on Core2 2009-03-03 12:04:22 +01:00
pci PCI: irq and pci_ids patch for Intel Tigerpoint DeviceIDs 2009-01-27 09:46:08 -08:00
power x86, hibernate: fix breakage on x86_32 with CONFIG_NUMA set 2008-11-12 23:28:51 +01:00
vdso Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2008-12-28 12:33:21 -08:00
video
xen xen: disable interrupts early, as start_kernel expects 2009-02-25 18:51:57 +01:00
Kconfig x86: enable DMAR by default 2009-02-26 20:59:47 +01:00
Kconfig.cpu x86/Kconfig.cpu: make Kconfig help readable in the console 2009-02-04 22:19:27 +01:00
Kconfig.debug trace: mmiotrace to the tracer menu in Kconfig 2009-02-15 20:03:28 +01:00
Makefile x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
Makefile_32.cpu