[PATCH for-4.19 v3 0/7] x86/xstate: Fixes to size calculations

Andrew Cooper posted 7 patches 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20240523111627.28896-1-andrew.cooper3@citrix.com
There is a newer version of this series
xen/arch/x86/cpu-policy.c                   |  56 ++--
xen/arch/x86/cpuid.c                        |  24 +-
xen/arch/x86/domctl.c                       |   2 +-
xen/arch/x86/hvm/hvm.c                      |   2 +-
xen/arch/x86/i387.c                         |   2 +-
xen/arch/x86/include/asm/x86-defns.h        |  55 ++--
xen/arch/x86/include/asm/xstate.h           |   8 +-
xen/arch/x86/setup.c                        |   4 +-
xen/arch/x86/xstate.c                       | 286 +++++++++++++++++---
xen/include/public/arch-x86/cpufeatureset.h |   3 +
xen/include/xen/lib/x86/cpu-policy.h        |   2 +-
11 files changed, 322 insertions(+), 122 deletions(-)
[PATCH for-4.19 v3 0/7] x86/xstate: Fixes to size calculations
Posted by Andrew Cooper 6 months ago
This has grown somewhat from v2, but is better for it IMO.

The headline change is patch 2 performing all the cross-checking at boot time.
This turned into needing prepare the Raw CPU policy earlier on boot (to avoid
further-adding to scheme we're already looking to retire).

The end result has been tested across the entire XenServer hardware lab.  This
found several false assupmtion about how the dynamic sizes behave.

Patches 1 and 6 the main bugfixes from this series.  There's still lots more
work to do in order to get AMX and/or CET working, but this is at least a 4-yo
series finally off my plate.

Andrew Cooper (7):
  x86/xstate: Fix initialisation of XSS cache
  x86/xstate: Cross-check dynamic XSTATE sizes at boot
  x86/boot: Collect the Raw CPU Policy earlier on boot
  x86/xstate: Rework xstate_ctxt_size() as xstate_uncompressed_size()
  x86/cpu-policy: Simplify recalculate_xstate()
  x86/cpuid: Fix handling of XSAVE dynamic leaves
  x86/defns: Clean up X86_{XCR0,XSS}_* constants

 xen/arch/x86/cpu-policy.c                   |  56 ++--
 xen/arch/x86/cpuid.c                        |  24 +-
 xen/arch/x86/domctl.c                       |   2 +-
 xen/arch/x86/hvm/hvm.c                      |   2 +-
 xen/arch/x86/i387.c                         |   2 +-
 xen/arch/x86/include/asm/x86-defns.h        |  55 ++--
 xen/arch/x86/include/asm/xstate.h           |   8 +-
 xen/arch/x86/setup.c                        |   4 +-
 xen/arch/x86/xstate.c                       | 286 +++++++++++++++++---
 xen/include/public/arch-x86/cpufeatureset.h |   3 +
 xen/include/xen/lib/x86/cpu-policy.h        |   2 +-
 11 files changed, 322 insertions(+), 122 deletions(-)

-- 
2.30.2