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>