On 21/05/21 12:24, Ilias Stamatis wrote:
@@ -3537,10 +3539,14 @@ int kvm_get_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info) * return L1's TSC value to ensure backwards-compatible * behavior for migration. */ - u64 tsc_offset = msr_info->host_initiated ? vcpu->arch.l1_tsc_offset : - vcpu->arch.tsc_offset; - - msr_info->data = kvm_scale_tsc(vcpu, rdtsc()) + tsc_offset; + if (msr_info->host_initiated) + msr_info->data = kvm_scale_tsc( + vcpu, rdtsc(), vcpu->arch.l1_tsc_scaling_ratio + ) + vcpu->arch.l1_tsc_offset;
Better indentation: msr_info->data = vcpu->arch.l1_tsc_offset + kvm_scale_tsc(vcpu, rdtsc(), vcpu->arch.tsc_scaling_ratio); Same below. Paolo
+ else + msr_info->data = kvm_scale_tsc( + vcpu, rdtsc(), vcpu->arch.tsc_scaling_ratio + ) + vcpu->arch.tsc_offset; break; } case MSR_MTRRcap: