On Fri, 2023-11-24 at 00:53 -0500, Yang Weijiang wrote:
Define new XFEATURE_MASK_KERNEL_DYNAMIC set including the featuresThe above is a bit tough to parse. Does any of this seem clearer?
can be
optionally enabled by kernel components, i.e., the features are
required by
specific kernel components.
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 guestThanks for breaking these into small patches.
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.