This is the QEMU part of the changes required for nested Hyper-V to read
timestamps with RDTSC + TSC page. Without exposing the frequency MSRs,
Windows with the Hyper-V role enabled use the much slower
HV_X64_MSR_TIME_REF_COUNT (0x40000020) RDMSR to read timestamps.
The new registers are exposed only if the TSC frequency is stable across
migration and known, as suggested by Paolo.
* deleted an extra empty line in patch 1
* added patch 3 introducing a helper function for the "TSC is stable and
known" check (David)
Ladi Prosek (4):
i386/kvm: use a switch statement for MSR detection
i386/kvm: set tsc_khz before configuring Hyper-V CPUID
i386/kvm: introduce tsc_is_stable_and_known()
i386/kvm: advertise Hyper-V frequency MSRs
target/i386/kvm.c | 138 ++++++++++++++++++++++++++++--------------------------
1 file changed, 71 insertions(+), 67 deletions(-)