On 30/11/20 14:35, Maxim Levitsky wrote:
+               if (guest_cpuid_has(vcpu, X86_FEATURE_TSC_ADJUST)) {
+                       tsc_state.tsc_adjust = vcpu->arch.ia32_tsc_adjust_msr;
+                       tsc_state.flags |= KVM_TSC_STATE_TSC_ADJUST_VALID;
+               }

This is mostly useful for userspace that doesn't disable the quirk, right?

+               kvm_get_walltime(&wall_nsec, &host_tsc);
+               diff = wall_nsec - tsc_state.nsec;
+
+               if (diff < 0 || tsc_state.nsec == 0)
+                       diff = 0;
+

diff < 0 should be okay. Also why the nsec==0 special case? What about using a flag instead?

Paolo

Reply via email to