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

Andrew Cooper posted 7 patches 5 months, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20240617173921.1755439-1-andrew.cooper3@citrix.com
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                       | 294 +++++++++++++++++---
xen/include/public/arch-x86/cpufeatureset.h |   3 +
xen/include/xen/lib/x86/cpu-policy.h        |   2 +-
11 files changed, 330 insertions(+), 122 deletions(-)
[PATCH for-4.19 v4 0/7] x86/xstate: Fixes to size calculations
Posted by Andrew Cooper 5 months, 1 week ago
Only minor changes in v4 vs v3.  See patches for details.

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                       | 294 +++++++++++++++++---
 xen/include/public/arch-x86/cpufeatureset.h |   3 +
 xen/include/xen/lib/x86/cpu-policy.h        |   2 +-
 11 files changed, 330 insertions(+), 122 deletions(-)

-- 
2.39.2
Re: [PATCH for-4.19 v4 0/7] x86/xstate: Fixes to size calculations
Posted by Oleksii K. 5 months ago
On Mon, 2024-06-17 at 18:39 +0100, Andrew Cooper wrote:
> Only minor changes in v4 vs v3.  See patches for details.
> 
> The end result has been tested across the entire XenServer hardware
> lab.  This
> found several false assupmtion about how the dynamic sizes behave.
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

~ Oleksii
> 
> 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                       | 294 +++++++++++++++++-
> --
>  xen/include/public/arch-x86/cpufeatureset.h |   3 +
>  xen/include/xen/lib/x86/cpu-policy.h        |   2 +-
>  11 files changed, 330 insertions(+), 122 deletions(-)
>