diff options
Diffstat (limited to '0018-x86-CPUID-surface-suitable-value-in-EBX-of-XSTATE-su.patch')
-rw-r--r-- | 0018-x86-CPUID-surface-suitable-value-in-EBX-of-XSTATE-su.patch | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/0018-x86-CPUID-surface-suitable-value-in-EBX-of-XSTATE-su.patch b/0018-x86-CPUID-surface-suitable-value-in-EBX-of-XSTATE-su.patch deleted file mode 100644 index 5fc8919..0000000 --- a/0018-x86-CPUID-surface-suitable-value-in-EBX-of-XSTATE-su.patch +++ /dev/null @@ -1,44 +0,0 @@ -From e8882bcfe35520e950ba60acd6e67e65f1ce90a8 Mon Sep 17 00:00:00 2001 -From: Jan Beulich <jbeulich@suse.com> -Date: Tue, 11 Oct 2022 14:59:26 +0200 -Subject: [PATCH 18/87] x86/CPUID: surface suitable value in EBX of XSTATE - subleaf 1 - -While the SDM isn't very clear about this, our present behavior make -Linux 5.19 unhappy. As of commit 8ad7e8f69695 ("x86/fpu/xsave: Support -XSAVEC in the kernel") they're using this CPUID output also to size -the compacted area used by XSAVEC. Getting back zero there isn't really -liked, yet for PV that's the default on capable hardware: XSAVES isn't -exposed to PV domains. - -Considering that the size reported is that of the compacted save area, -I view Linux'es assumption as appropriate (short of the SDM properly -considering the case). Therefore we need to populate the field also when -only XSAVEC is supported for a guest. - -Fixes: 460b9a4b3630 ("x86/xsaves: enable xsaves/xrstors for hvm guest") -Fixes: 8d050ed1097c ("x86: don't expose XSAVES capability to PV guests") -Signed-off-by: Jan Beulich <jbeulich@suse.com> -Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> -master commit: c3bd0b83ea5b7c0da6542687436042eeea1e7909 -master date: 2022-08-24 14:23:59 +0200 ---- - xen/arch/x86/cpuid.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c -index ff335f16390d..a647331f4793 100644 ---- a/xen/arch/x86/cpuid.c -+++ b/xen/arch/x86/cpuid.c -@@ -1060,7 +1060,7 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf, - switch ( subleaf ) - { - case 1: -- if ( p->xstate.xsaves ) -+ if ( p->xstate.xsavec || p->xstate.xsaves ) - { - /* - * TODO: Figure out what to do for XSS state. VT-x manages --- -2.37.4 - |