|
@@ -1034,7 +1034,11 @@ static u32 emulated_msrs[] = {
|
|
HV_X64_MSR_VP_RUNTIME,
|
|
HV_X64_MSR_VP_RUNTIME,
|
|
HV_X64_MSR_SCONTROL,
|
|
HV_X64_MSR_SCONTROL,
|
|
HV_X64_MSR_STIMER0_CONFIG,
|
|
HV_X64_MSR_STIMER0_CONFIG,
|
|
- HV_X64_MSR_APIC_ASSIST_PAGE, MSR_KVM_ASYNC_PF_EN, MSR_KVM_STEAL_TIME,
|
|
|
|
|
|
+ HV_X64_MSR_APIC_ASSIST_PAGE,
|
|
|
|
+ HV_X64_MSR_REENLIGHTENMENT_CONTROL, HV_X64_MSR_TSC_EMULATION_CONTROL,
|
|
|
|
+ HV_X64_MSR_TSC_EMULATION_STATUS,
|
|
|
|
+
|
|
|
|
+ MSR_KVM_ASYNC_PF_EN, MSR_KVM_STEAL_TIME,
|
|
MSR_KVM_PV_EOI_EN,
|
|
MSR_KVM_PV_EOI_EN,
|
|
|
|
|
|
MSR_IA32_TSC_ADJUST,
|
|
MSR_IA32_TSC_ADJUST,
|
|
@@ -2453,6 +2457,9 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
|
|
case HV_X64_MSR_CRASH_P0 ... HV_X64_MSR_CRASH_P4:
|
|
case HV_X64_MSR_CRASH_P0 ... HV_X64_MSR_CRASH_P4:
|
|
case HV_X64_MSR_CRASH_CTL:
|
|
case HV_X64_MSR_CRASH_CTL:
|
|
case HV_X64_MSR_STIMER0_CONFIG ... HV_X64_MSR_STIMER3_COUNT:
|
|
case HV_X64_MSR_STIMER0_CONFIG ... HV_X64_MSR_STIMER3_COUNT:
|
|
|
|
+ case HV_X64_MSR_REENLIGHTENMENT_CONTROL:
|
|
|
|
+ case HV_X64_MSR_TSC_EMULATION_CONTROL:
|
|
|
|
+ case HV_X64_MSR_TSC_EMULATION_STATUS:
|
|
return kvm_hv_set_msr_common(vcpu, msr, data,
|
|
return kvm_hv_set_msr_common(vcpu, msr, data,
|
|
msr_info->host_initiated);
|
|
msr_info->host_initiated);
|
|
case MSR_IA32_BBL_CR_CTL3:
|
|
case MSR_IA32_BBL_CR_CTL3:
|
|
@@ -2683,6 +2690,9 @@ int kvm_get_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
|
|
case HV_X64_MSR_CRASH_P0 ... HV_X64_MSR_CRASH_P4:
|
|
case HV_X64_MSR_CRASH_P0 ... HV_X64_MSR_CRASH_P4:
|
|
case HV_X64_MSR_CRASH_CTL:
|
|
case HV_X64_MSR_CRASH_CTL:
|
|
case HV_X64_MSR_STIMER0_CONFIG ... HV_X64_MSR_STIMER3_COUNT:
|
|
case HV_X64_MSR_STIMER0_CONFIG ... HV_X64_MSR_STIMER3_COUNT:
|
|
|
|
+ case HV_X64_MSR_REENLIGHTENMENT_CONTROL:
|
|
|
|
+ case HV_X64_MSR_TSC_EMULATION_CONTROL:
|
|
|
|
+ case HV_X64_MSR_TSC_EMULATION_STATUS:
|
|
return kvm_hv_get_msr_common(vcpu,
|
|
return kvm_hv_get_msr_common(vcpu,
|
|
msr_info->index, &msr_info->data);
|
|
msr_info->index, &msr_info->data);
|
|
break;
|
|
break;
|