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 7/9] KVM VMX: Move MSR_IA32_VMX_MISC bit defines to asm/vmx.h
Date: Fri, 15 Mar 2024 23:43:29 +0800	[thread overview]
Message-ID: <ZfRsoQQFWqSxJIfs@intel.com> (raw)
In-Reply-To: <20240309012725.1409949-8-seanjc@google.com>

On Fri, Mar 08, 2024 at 05:27:23PM -0800, Sean Christopherson wrote:
> Date: Fri,  8 Mar 2024 17:27:23 -0800
> From: Sean Christopherson <seanjc@google.com>
> Subject: [PATCH v6 7/9] KVM VMX: Move MSR_IA32_VMX_MISC bit defines to
>  asm/vmx.h
> X-Mailer: git-send-email 2.44.0.278.ge034bb2e1d-goog
> 
> Move the handful of MSR_IA32_VMX_MISC bit defines that are currently in
> msr-indx.h to vmx.h so that all of the VMX_MISC defines and wrappers can
> be found in a single location.
> 
> Opportunistically use BIT_ULL() instead of open coding hex values, add
> defines for feature bits that are architectural defined, and move the
> defines down in the file so that they are colocated with the helpers for
> getting fields from VMX_MISC.
> 
> No functional change intended.
> 
> 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/msr-index.h |  5 -----
>  arch/x86/include/asm/vmx.h       | 19 ++++++++++++-------
>  arch/x86/kvm/vmx/capabilities.h  |  4 ++--
>  arch/x86/kvm/vmx/nested.c        |  2 +-
>  arch/x86/kvm/vmx/nested.h        |  2 +-
>  5 files changed, 16 insertions(+), 16 deletions(-)
> 
> diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
> index 5ca81ad509b5..3531856def3d 100644
> --- a/arch/x86/include/asm/msr-index.h
> +++ b/arch/x86/include/asm/msr-index.h
> @@ -1138,11 +1138,6 @@
>  #define MSR_IA32_SMBA_BW_BASE		0xc0000280
>  #define MSR_IA32_EVT_CFG_BASE		0xc0000400
>  
> -/* MSR_IA32_VMX_MISC bits */
> -#define MSR_IA32_VMX_MISC_INTEL_PT                 (1ULL << 14)
> -#define MSR_IA32_VMX_MISC_VMWRITE_SHADOW_RO_FIELDS (1ULL << 29)
> -#define MSR_IA32_VMX_MISC_PREEMPTION_TIMER_SCALE   0x1F
> -
>  /* AMD-V MSRs */
>  #define MSR_VM_CR                       0xc0010114
>  #define MSR_VM_IGNNE                    0xc0010115
> diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h
> index ce6d166fc3c5..6ff179b11235 100644
> --- a/arch/x86/include/asm/vmx.h
> +++ b/arch/x86/include/asm/vmx.h
> @@ -120,13 +120,6 @@
>  
>  #define VM_ENTRY_ALWAYSON_WITHOUT_TRUE_MSR	0x000011ff
>  
> -#define VMX_MISC_PREEMPTION_TIMER_RATE_MASK	0x0000001f
> -#define VMX_MISC_SAVE_EFER_LMA			0x00000020
> -#define VMX_MISC_ACTIVITY_HLT			0x00000040
> -#define VMX_MISC_ACTIVITY_WAIT_SIPI		0x00000100
> -#define VMX_MISC_ZERO_LEN_INS			0x40000000
> -#define VMX_MISC_MSR_LIST_MULTIPLIER		512
> -
>  /* VMFUNC functions */
>  #define VMFUNC_CONTROL_BIT(x)	BIT((VMX_FEATURE_##x & 0x1f) - 28)
>  
> @@ -155,6 +148,18 @@ static inline u32 vmx_basic_vmcs_mem_type(u64 vmx_basic)
>  	return (vmx_basic & GENMASK_ULL(53, 50)) >> 50;
>  }
>  
> +#define VMX_MISC_PREEMPTION_TIMER_RATE_MASK	GENMASK_ULL(4, 0)
> +#define VMX_MISC_SAVE_EFER_LMA			BIT_ULL(5)
> +#define VMX_MISC_ACTIVITY_HLT			BIT_ULL(6)
> +#define VMX_MISC_ACTIVITY_SHUTDOWN		BIT_ULL(7)
> +#define VMX_MISC_ACTIVITY_WAIT_SIPI		BIT_ULL(8)
> +#define VMX_MISC_INTEL_PT			BIT_ULL(14)
> +#define VMX_MISC_RDMSR_IN_SMM			BIT_ULL(15)
> +#define VMX_MISC_VMXOFF_BLOCK_SMI		BIT_ULL(28)
> +#define VMX_MISC_VMWRITE_SHADOW_RO_FIELDS	BIT_ULL(29)
> +#define VMX_MISC_ZERO_LEN_INS			BIT_ULL(30)
> +#define VMX_MISC_MSR_LIST_MULTIPLIER		512
> +

Maybe it's better to mention this patch also define some new bits:

* VMX_MISC_ACTIVITY_SHUTDOWN
* VMX_MISC_RDMSR_IN_SMM
* VMX_MISC_VMXOFF_BLOCK_SMI

Otherwise,

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>


  reply	other threads:[~2024-03-15 15:29 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
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 [this message]
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=ZfRsoQQFWqSxJIfs@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.