Re: KVM_GET_MSR_INDEX_LIST vs KVM_GET_MSR_FEATURE_INDEX_LIST

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 7 Sep 2018, at 21:37, Jim Mattson <jmattson@xxxxxxxxxx> wrote:
> 
> Are these two lists intended to be disjoint? Is it a bug that
> IA32_ARCH_CAPABILITIES appears in both?

>From what I understand, the difference between these two lists is the following:
* KVM_GET_MSR_INDEX_LIST is list of MSRs that are emulated/virtualized by KVM and
  their value can be get/set via KVM_GET_MSRS/KVM_SET_MSRS on a *vCPU*.
* KVM_GET_MSR_FEATURE_INDEX_LIST is a list of MSRs that are emulated/virtualized by KVM
  and their value can be get via KVM_GET_MSRS on */dev/kvm*.
  (But can be set via KVM_SET_MSRS on a *vCPU*).

It seems that the KVM_GET_MSR_FEATURE_INDEX_LIST exists only for the purpose of
userspace to be able to know how KVM plans to expose these MSRs values to newly created vCPUs
based on KVM capabilities and host CPU capabilities.

If the above is correct, it seems to me that the MSRs in KVM_GET_MSR_FEATURE_INDEX_LIST are actually
suppose to be a subset of KVM_GET_MSR_INDEX_LIST. So it shouldn’t be an issue that IA32_ARCH_CAPABILITIES
Exist in both of them.
However, it seems that I am wrong because KVM_GET_MSR_FEATURE_INDEX_LIST is not
a subset of KVM_GET_MSR_INDEX_LIST at all. In fact, it seems that IA32_ARCH_CAPABILITIES is the only one
which exists in both lists…
Also, MSR_IA32_UCODE_REV exists only in KVM_GET_MSR_FEATURE_INDEX_LIST but one can clearly see
how it’s value can be get via KVM_GET_MSRS on a *vCPU* so it was also suppose to be part of KVM_GET_MSR_INDEX_LIST
but it’s not…

So I’m left pretty confused regarding this interface. Would like clarification as-well :)

-Liran



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux