Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757333AbcK3LWL (ORCPT ); Wed, 30 Nov 2016 06:22:11 -0500 Received: from mail-wj0-f194.google.com ([209.85.210.194]:34287 "EHLO mail-wj0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754558AbcK3LWD (ORCPT ); Wed, 30 Nov 2016 06:22:03 -0500 Subject: Re: [PATCH v3 0/5] VMX Capability MSRs To: David Matlack , kvm@vger.kernel.org References: <1480472050-58023-1-git-send-email-dmatlack@google.com> Cc: linux-kernel@vger.kernel.org, jmattson@google.com, rkrcmar@redhat.com From: Paolo Bonzini Message-ID: <7aad1d11-ef44-9d11-e7b5-c46f84aac5e5@redhat.com> Date: Wed, 30 Nov 2016 12:22:00 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <1480472050-58023-1-git-send-email-dmatlack@google.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1653 Lines: 44 On 30/11/2016 03:14, David Matlack wrote: > This patchset adds support setting the VMX capability MSRs from userspace. > This is required for migration of nested-capable VMs to different CPUs and > KVM versions. > > Patch 1 generates the non-true VMX MSRs using the true MSRs, which allows > userspace to skip restoring them. > > Patch 2 adds support for restoring the VMX capability MSRs. > > Patches 3 and 4 make KVM's emulation of MSR_IA32_VMX_CR{0,4}_FIXED1 more > accurate. > > Patch 5 fixes a bug in emulated VM-entry that came up when testing patches > 3 and 4. > > Changes since v2: > * Generate CR0_FIXED1 in addition to CR4_FIXED1 > * Generate "non-true" capability MSRs from the "true" versions and remove > "non-true" MSRs from struct nested_vmx. > * Disallow restore of CR{0,4}_FIXED1 and "non-true" MSRs since they are > generated. > > Changes since v1: > * Support restoring less-capable versions of MSR_IA32_VMX_BASIC, > MSR_IA32_VMX_CR{0,4}_FIXED{0,1}. > * Include VMX_INS_OUTS in MSR_IA32_VMX_BASIC initial value. > > David Matlack (5): > KVM: nVMX: generate non-true VMX MSRs based on true versions > KVM: nVMX: support restore of VMX capability MSRs > KVM: nVMX: fix checks on CR{0,4} during virtual VMX operation > KVM: nVMX: generate MSR_IA32_CR{0,4}_FIXED1 from guest CPUID > KVM: nVMX: load GUEST_EFER after GUEST_CR0 during emulated VM-entry > > arch/x86/include/asm/vmx.h | 31 +++ > arch/x86/kvm/vmx.c | 479 +++++++++++++++++++++++++++++++++++++-------- > 2 files changed, 427 insertions(+), 83 deletions(-) Just a small nit that can be fixed on applying. Thanks! Paolo