On Tue, 2025-05-06 at 17:36 +0800, Chao Gao wrote: > Currently, guest and host FPUs share the same default features. However, > the CET supervisor xstate is the first feature that needs to be enabled > exclusively for guest FPUs. Enabling it for host FPUs leads to a waste of > 24 bytes in the XSAVE buffer. > > To support "guest-only" features, add a new structure to hold the > default features and sizes for guest FPUs to clearly differentiate them > from those for host FPUs. > > Note that, > 1) for now, the default features for guest and host FPUs remain the > same. This will change in a follow-up patch once guest permissions, default > xfeatures, and fpstate size are all converted to use the guest defaults. > > 2) only supervisor features will diverge between guest FPUs and host > FPUs, while user features will remain the same [1][2]. So, the new > vcpu_fpu_config struct does not include default user features and size > for the UABI buffer. > > An alternative approach is adding a guest_only_xfeatures member to > fpu_kernel_cfg and adding two helper functions to calculate the guest > default xfeatures and size. However, calculating these defaults at runtime > would introduce unnecessary overhead. > > Suggested-by: Chang S. Bae <chang.seok.bae@xxxxxxxxx> > Signed-off-by: Chao Gao <chao.gao@xxxxxxxxx> Reviewed-by: Rick Edgecombe <rick.p.edgecombe@xxxxxxxxx>