3 MSRs array:
msrs_to_save
reflects the capabilities of the host cpu, built on top of the constantmsrs_to_save_all
array.emulated_msrs
MSRs that are kvm-specific are put inemulated_msrs_all
; filtering of emulated_msrs may depend on host virtualization features rather than host cpu features.msr_based_features
List of msr numbers which are used to expose MSR-based features that can be used by a hypervisor to validate requested CPU features. Built as a filter on top ofmsr_based_features_all
KVM_GET_MSR_INDEX_LIST returns the guest msrs that are supported. The list
varies by kvm version and host processor, but does not change otherwise.
msr_list.nmsrs = num_msrs_to_save + num_emulated_msrs;
if (copy_to_user(user_msr_list->indices, &msrs_to_save,
num_msrs_to_save * sizeof(u32)))
goto out;
if (copy_to_user(user_msr_list->indices + num_msrs_to_save,
&emulated_msrs,
num_emulated_msrs * sizeof(u32)))
goto out;