[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zxn8BX6vxQKY+YNF@intel.com>
Date: Thu, 24 Oct 2024 15:49:25 +0800
From: Chao Gao <chao.gao@...el.com>
To: "Xin Li (Intel)" <xin@...or.com>
CC: <kvm@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-doc@...r.kernel.org>, <seanjc@...gle.com>, <pbonzini@...hat.com>,
<corbet@....net>, <tglx@...utronix.de>, <mingo@...hat.com>, <bp@...en8.de>,
<dave.hansen@...ux.intel.com>, <x86@...nel.org>, <hpa@...or.com>,
<luto@...nel.org>, <peterz@...radead.org>, <andrew.cooper3@...rix.com>
Subject: Re: [PATCH v3 21/27] KVM: VMX: Invoke vmx_set_cpu_caps() before
nested setup
On Mon, Sep 30, 2024 at 10:01:04PM -0700, Xin Li (Intel) wrote:
>From: Xin Li <xin3.li@...el.com>
>
>Set VMX CPU capabilities before initializing nested instead of after,
>as it needs to check VMX CPU capabilities to setup the VMX basic MSR
>for nested.
Which VMX CPU capabilities are needed? after reading patch 25, I still
don't get that.
>
>Signed-off-by: Xin Li <xin3.li@...el.com>
>Signed-off-by: Xin Li (Intel) <xin@...or.com>
>Tested-by: Shan Kang <shan.kang@...el.com>
>---
> arch/x86/kvm/vmx/vmx.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
>diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
>index ef807194ccbd..522ee27a4655 100644
>--- a/arch/x86/kvm/vmx/vmx.c
>+++ b/arch/x86/kvm/vmx/vmx.c
>@@ -8774,6 +8774,12 @@ __init int vmx_hardware_setup(void)
>
> setup_default_sgx_lepubkeyhash();
>
>+ /*
>+ * VMX CPU capabilities are required to setup the VMX basic MSR for
>+ * nested, so this must be done before nested_vmx_setup_ctls_msrs().
>+ */
>+ vmx_set_cpu_caps();
>+
> if (nested) {
> nested_vmx_setup_ctls_msrs(&vmcs_config, vmx_capability.ept);
>
>@@ -8782,8 +8788,6 @@ __init int vmx_hardware_setup(void)
> return r;
> }
>
>- vmx_set_cpu_caps();
>-
> r = alloc_kvm_area();
> if (r && nested)
> nested_vmx_hardware_unsetup();
>--
>2.46.2
>
>
Powered by blists - more mailing lists