All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhao Liu <zhao1.liu@intel.com>
To: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>,
	Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	Shan Kang <shan.kang@intel.com>, Kai Huang <kai.huang@intel.com>,
	Xin Li <xin3.li@intel.com>
Subject: Re: [PATCH v6 5/9] KVM: VMX: Track CPU's MSR_IA32_VMX_BASIC as a single 64-bit value
Date: Fri, 15 Mar 2024 23:26:46 +0800	[thread overview]
Message-ID: <ZfRotvcaNUft4H4/@intel.com> (raw)
In-Reply-To: <20240309012725.1409949-6-seanjc@google.com>

Hi Sean,

On Fri, Mar 08, 2024 at 05:27:21PM -0800, Sean Christopherson wrote:
> Date: Fri,  8 Mar 2024 17:27:21 -0800
> From: Sean Christopherson <seanjc@google.com>
> Subject: [PATCH v6 5/9] KVM: VMX: Track CPU's MSR_IA32_VMX_BASIC as a
>  single 64-bit value
> X-Mailer: git-send-email 2.44.0.278.ge034bb2e1d-goog
> 
> Track the "basic" capabilities VMX MSR as a single u64 in vmcs_config
> instead of splitting it across three fields, that obviously don't combine
> into a single 64-bit value, so that KVM can use the macros that define MSR
> bits using their absolute position.  Replace all open coded shifts and
> masks, many of which are relative to the "high" half, with the appropriate
> macro.
> 
> Opportunistically use VMX_BASIC_32BIT_PHYS_ADDR_ONLY instead of an open
> coded equivalent, and clean up the related comment to not reference a
> specific SDM section (to the surprise of no one, the comment is stale).
> 
> No functional change intended (though obviously the code generation will
> be quite different).
> 
> Cc: Shan Kang <shan.kang@intel.com>
> Cc: Kai Huang <kai.huang@intel.com>
> Signed-off-by: Xin Li <xin3.li@intel.com>
> [sean: split to separate patch, write changelog]
> Signed-off-by: Sean Christopherson <seanjc@google.com>
> ---
>  arch/x86/include/asm/vmx.h      |  5 +++++
>  arch/x86/kvm/vmx/capabilities.h |  6 ++----
>  arch/x86/kvm/vmx/vmx.c          | 28 ++++++++++++++--------------
>  3 files changed, 21 insertions(+), 18 deletions(-)
> 
> diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h
> index c3a97dca4a33..ce6d166fc3c5 100644
> --- a/arch/x86/include/asm/vmx.h
> +++ b/arch/x86/include/asm/vmx.h
> @@ -150,6 +150,11 @@ static inline u32 vmx_basic_vmcs_size(u64 vmx_basic)
>  	return (vmx_basic & GENMASK_ULL(44, 32)) >> 32;

Maybe we could use VMX_BASIC_VMCS_SIZE_SHIFT to replace "32"?

>  }
>  
> +static inline u32 vmx_basic_vmcs_mem_type(u64 vmx_basic)
> +{
> +	return (vmx_basic & GENMASK_ULL(53, 50)) >> 50;
> +}
> +

Also here, we can use VMX_BASIC_MEM_TYPE_SHIFT to replace "50".

And what about defining VMX_BASIC_MEM_TYPE_MASK to replace
GENMASK_ULL(53, 50), and VMX_BASIC_VMCS_SIZE_MSAK to replace
GENMASK_ULL(44, 32) above?

Thanks,
Zhao


  reply	other threads:[~2024-03-15 15:12 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-09  1:27 [PATCH v6 0/9] x86/cpu: KVM: Clean up PAT and VMX macros Sean Christopherson
2024-03-09  1:27 ` [PATCH v6 1/9] x86/cpu: KVM: Add common defines for architectural memory types (PAT, MTRRs, etc.) Sean Christopherson
2024-03-27 11:13   ` Huang, Kai
2024-04-03 18:57     ` Sean Christopherson
2024-04-03 21:17       ` Huang, Kai
2024-04-03 21:42         ` Sean Christopherson
2024-03-09  1:27 ` [PATCH v6 2/9] x86/cpu: KVM: Move macro to encode PAT value to common header Sean Christopherson
2024-03-27 11:21   ` Huang, Kai
2024-04-01  5:28   ` Xiaoyao Li
2024-04-03 21:03   ` Huang, Kai
2024-03-09  1:27 ` [PATCH v6 3/9] KVM: x86: Stuff vCPU's PAT with default value at RESET, not creation Sean Christopherson
2024-03-27 11:22   ` Huang, Kai
2024-04-01  6:00   ` Xiaoyao Li
2024-03-09  1:27 ` [PATCH v6 4/9] KVM: VMX: Move MSR_IA32_VMX_BASIC bit defines to asm/vmx.h Sean Christopherson
2024-03-15 15:13   ` Zhao Liu
2024-03-27 10:37   ` Huang, Kai
2024-04-01  6:13   ` Xiaoyao Li
2024-04-02  5:01     ` Li, Xin3
2024-04-02 14:28       ` Sean Christopherson
2024-03-09  1:27 ` [PATCH v6 5/9] KVM: VMX: Track CPU's MSR_IA32_VMX_BASIC as a single 64-bit value Sean Christopherson
2024-03-15 15:26   ` Zhao Liu [this message]
2024-03-27 10:38   ` Huang, Kai
2024-04-01  6:27   ` Xiaoyao Li
2024-03-09  1:27 ` [PATCH v6 6/9] KVM: nVMX: Use macros and #defines in vmx_restore_vmx_basic() Sean Christopherson
2024-03-15 15:30   ` Zhao Liu
2024-03-27 10:53   ` Huang, Kai
2024-04-01  7:00   ` Xiaoyao Li
2024-03-09  1:27 ` [PATCH v6 7/9] KVM VMX: Move MSR_IA32_VMX_MISC bit defines to asm/vmx.h Sean Christopherson
2024-03-15 15:43   ` Zhao Liu
2024-03-27 10:55   ` Huang, Kai
2024-03-09  1:27 ` [PATCH v6 8/9] KVM: VMX: Open code VMX preemption timer rate mask in its accessor Sean Christopherson
2024-03-15 15:46   ` Zhao Liu
2024-03-15 17:54     ` Sean Christopherson
2024-04-01  7:07       ` Xiaoyao Li
2024-04-02 22:06         ` Sean Christopherson
2024-04-24 20:06           ` Sean Christopherson
2024-04-25 10:05             ` Huang, Kai
2024-04-25 14:42               ` Sean Christopherson
2024-04-25 21:44                 ` Huang, Kai
2024-04-25 14:18             ` Xiaoyao Li
2024-03-27 10:59   ` Huang, Kai
2024-03-09  1:27 ` [PATCH v6 9/9] KVM: nVMX: Use macros and #defines in vmx_restore_vmx_misc() Sean Christopherson
2024-03-15 15:52   ` Zhao Liu
2024-03-27 11:02   ` Huang, Kai
2024-04-01  7:09   ` Xiaoyao Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZfRotvcaNUft4H4/@intel.com \
    --to=zhao1.liu@intel.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=kai.huang@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=seanjc@google.com \
    --cc=shan.kang@intel.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=xin3.li@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.