On Fri, 2023-11-24 at 00:53 -0500, Yang Weijiang wrote: > Define new XFEATURE_MASK_KERNEL_DYNAMIC set including the features > can be > optionally enabled by kernel components, i.e., the features are > required by > specific kernel components. The above is a bit tough to parse. Does any of this seem clearer? 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_KERNEL_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 xsaves/xrstors operating > xfeature set > (XCR0 | XSS), but the relevant CPU feature, i.e., supervisor shadow > stack, is > not enabled in host kernel so 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. Thanks for breaking these into small patches.