Re: [PATCH v8 04/26] x86/fpu/xstate: Introduce XFEATURE_MASK_KERNEL_DYNAMIC xfeature set

From: Edgecombe, Rick P
Date: Thu Jan 04 2024 - 17:26:58 EST


On Thu, 2023-12-21 at 09:02 -0500, Yang Weijiang wrote:
> Define a new XFEATURE_MASK_KERNEL_DYNAMIC mask to specify the
> features
> that can be optionally enabled by kernel components. This is similar
> to
> XFEATURE_MASK_USER_DYNAMIC in that it contains optional xfeatures
> that
> can allows the FPU buffer to be dynamically sized. The difference is
> that
> the KERNEL variant contains supervisor features and will be enabled
> by
> kernel components that need them, and not directly by the user.
> Currently
> it's used by KVM to configure guest dedicated fpstate for calculating
> the xfeature and fpstate storage size etc.
>
> The kernel dynamic xfeatures now only contain XFEATURE_CET_KERNEL,
> which
> is supported by host as they're enabled in kernel XSS MSR setting but
> relevant CPU feature, i.e., supervisor shadow stack, is not enabled
> in
> host kernel therefore it can be omitted for normal fpstate by
> default.
>
> Remove the kernel dynamic feature from
> fpu_kernel_cfg.default_features
> so that the bits in xstate_bv and xcomp_bv are cleared and
> xsaves/xrstors
> can be optimized by HW for normal fpstate.
>
> Suggested-by: Dave Hansen <dave.hansen@xxxxxxxxx>
> Signed-off-by: Yang Weijiang <weijiang.yang@xxxxxxxxx>

Reviewed-by: Rick Edgecombe <rick.p.edgecombe@xxxxxxxxx>