lkml.org 
[lkml]   [2021]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC PATCH v2 03/69] KVM: X86: move out the definition vmcs_hdr/vmcs from kvm to x86
From
Date
On 03/07/21 00:04, isaku.yamahata@intel.com wrote:
> From: Isaku Yamahata <isaku.yamahata@intel.com>
>
> This is preparation for TDX support.
>
> Because SEAMCALL instruction requires VMX enabled, it needs to initialize
> struct vmcs and load it before SEAMCALL instruction.[1] [2] Move out the
> definition of vmcs into a common x86 header, arch/x86/include/asm/vmx.h, so
> that seamloader code can share the same definition.
>
> [1] Intel Trust Domain CPU Architectural Extensions
> https://software.intel.com/content/dam/develop/external/us/en/documents/intel-tdx-cpu-architectural-specification.pdf
>
> [2] TDX Module spec
> https://software.intel.com/content/dam/develop/external/us/en/documents/tdx-module-1eas-v0.85.039.pdf
>
> Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
> ---
> arch/x86/include/asm/vmx.h | 11 +++++++++++
> arch/x86/kvm/vmx/vmcs.h | 11 -----------
> 2 files changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h
> index 0ffaa3156a4e..035dfdafa2c1 100644
> --- a/arch/x86/include/asm/vmx.h
> +++ b/arch/x86/include/asm/vmx.h
> @@ -17,6 +17,17 @@
> #include <uapi/asm/vmx.h>
> #include <asm/vmxfeatures.h>
>
> +struct vmcs_hdr {
> + u32 revision_id:31;
> + u32 shadow_vmcs:1;
> +};
> +
> +struct vmcs {
> + struct vmcs_hdr hdr;
> + u32 abort;
> + char data[];
> +};
> +
> #define VMCS_CONTROL_BIT(x) BIT(VMX_FEATURE_##x & 0x1f)
>
> /*
> diff --git a/arch/x86/kvm/vmx/vmcs.h b/arch/x86/kvm/vmx/vmcs.h
> index 1472c6c376f7..ac09bc4996a5 100644
> --- a/arch/x86/kvm/vmx/vmcs.h
> +++ b/arch/x86/kvm/vmx/vmcs.h
> @@ -11,17 +11,6 @@
>
> #include "capabilities.h"
>
> -struct vmcs_hdr {
> - u32 revision_id:31;
> - u32 shadow_vmcs:1;
> -};
> -
> -struct vmcs {
> - struct vmcs_hdr hdr;
> - u32 abort;
> - char data[];
> -};
> -
> DECLARE_PER_CPU(struct vmcs *, current_vmcs);
>
> /*
>

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

\
 
 \ /
  Last update: 2021-07-06 14:41    [W:1.123 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site