Re: [PATCH v3 0/2] KVM: MSR-based features
From: Tom Lendacky
Date: Mon Feb 26 2018 - 13:32:45 EST
On 2/23/2018 5:38 PM, Paolo Bonzini wrote:
> On 21/02/2018 20:39, Tom Lendacky wrote:
>> The following series implements support within KVM for MSR-based features.
>> The first patch creates the MSR-based feature framework used to retrieve
>> the available MSR-based features. The second patch makes use of the
>> framework to allow a guest to determine if the LFENCE instruction is
>> serializing on AMD processors.
>>
>> This series is based on the master branch of the KVM git tree.
>>
>> https://git.kernel.org/pub/scm/virt/kvm/kvm.git
>
> I made a couple adjustments:
>
> - use a system (/dev/kvm) ioctl, which unfortunately means a new ioctl
> #define but is more consistent with KVM_GET_SUPPORTED_CPUID and
> KVM_GET_MSR_INDEX_LIST
>
> - rename msr_feature to get_msr_feature
>
> Please take a look at kvm/queue! Thanks,
Looks good to me. Just some documentation nits. You have an extra "S" in
the documentation for KVM_GET_MSR_FEATURES_INDEX_LIST vs what is in the
code, KVM_GET_MSR_FEATURE_INDEX_LIST. Also you have "vm ioctl" listed
under 4.3 (KVM_GET_MSR_INDEX_LIST, KVM_GET_MSR_FEATURE_INDEX_LIST) which
isn't valid anymore.
Otherwise, tested and works fine.
Thanks,
Tom
>
> Paolo
>
>> ---
>>
>> Changes from v2:
>> - Moved back to initializing the MSR-based feature list in kvm_init_msr_list()
>> (based on the kvm_x86_ops callback return code)
>> - Removed the definition of KVM_GET_MSR and switched back to using KVM_GET_MSRS
>> - Consolidated the documentation to group the ioctl usage and describe the usage
>> specific to the version of the ioctl used.
>>
>> Tom Lendacky (2):
>> KVM: x86: Add a framework for supporting MSR-based features
>> KVM: SVM: Add MSR-based feature support for serializing LFENCE
>>
>>
>> Documentation/virtual/kvm/api.txt | 29 +++++++++++----
>> arch/x86/include/asm/kvm_host.h | 2 +
>> arch/x86/kvm/svm.c | 43 ++++++++++++++++++++++
>> arch/x86/kvm/x86.c | 72 +++++++++++++++++++++++++++++++++++--
>> include/uapi/linux/kvm.h | 1 +
>> 5 files changed, 136 insertions(+), 11 deletions(-)
>>
>