This is version #1 of adding Hyper-V to bhyve in order to use hyperv clock
in guests Windows, and possibly in another guest OS-es too.
Windows OS in VM uses HPET and do not use TSC as clock source if hypervisor passes
CPUID2_HV bit and does not provide Hyper-V paravirtualization. That leads to overhead
by getting VHPET values and a lot of vmexits.
Many hypervisors (KVM, VBOX, VMware) implement Hyper-V paravirtualization for Windows
guests. This patch intends to introduce that feature in bhyve to get Windows guest use
paravirt tsc clock.
To use with Linux guests, it needs more changes, at least modifying bhyve_id vendor ID
signature string.
Sponsored by vStack.