Re: [PATCH v7 06/26] x86/fpu/xstate: Create guest fpstate with guest specific config
From: Edgecombe, Rick P
Date: Tue Nov 28 2023 - 10:19:53 EST
On Fri, 2023-11-24 at 00:53 -0500, Yang Weijiang wrote:
> +static struct fpstate *__fpu_alloc_init_guest_fpstate(struct
> fpu_guest *gfpu)
> {
> + bool compacted = cpu_feature_enabled(X86_FEATURE_XCOMPACTED);
> + unsigned int gfpstate_size, size;
> struct fpstate *fpstate;
> - unsigned int size;
>
> - size = fpu_user_cfg.default_size + ALIGN(offsetof(struct
> fpstate, regs), 64);
> + /*
> + * fpu_guest_cfg.default_features includes all enabled
> xfeatures
> + * except the user dynamic xfeatures. If the user dynamic
> xfeatures
> + * are enabled, the guest fpstate will be re-allocated to
> hold all
> + * guest enabled xfeatures, so omit user dynamic xfeatures
> here.
> + */
> + gfpstate_size =
> xstate_calculate_size(fpu_guest_cfg.default_features,
> + compacted);
Why not fpu_guest_cfg.default_size here?
> +
> + size = gfpstate_size + ALIGN(offsetof(struct fpstate, regs),
> 64);