Unsynchronized TSCs on the host require special handling in bhyve:
authorneel <neel@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 10 Apr 2013 05:59:07 +0000 (05:59 +0000)
committerneel <neel@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 10 Apr 2013 05:59:07 +0000 (05:59 +0000)
commit21fc6cec62536e88135cb16fb2cb4f6f21b46784
tree24264be4adf2ff77101e01f0bca54977475d4477
parent2f603b727eb092555d811fa06f4b75f36ebc4ce2
Unsynchronized TSCs on the host require special handling in bhyve:

- use clock_gettime(2) as the time base for the emulated ACPI timer instead
  of directly using rdtsc().

- don't advertise the invariant TSC capability to the guest to discourage it
  from using the TSC as its time base.

Discussed with: jhb@ (about making 'smp_tsc' a global)
Reported by: Dan Mack on freebsd-virtualization@
Obtained from: NetApp

git-svn-id: svn://svn.freebsd.org/base/head@249324 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/amd64/include/clock.h
sys/amd64/vmm/x86.c
sys/x86/x86/tsc.c
usr.sbin/bhyve/pmtmr.c