On Thu, Nov 23, 2023, Maciej S. Szmigiero wrote:
From: "Maciej S. Szmigiero" <maciej.szmigiero@xxxxxxxxxx>
Since commit b0563468eeac ("x86/CPU/AMD: Disable XSAVES on AMD family 0x17")
kernel unconditionally clears the XSAVES CPU feature bit on Zen1/2 CPUs.
Since KVM CPU caps are initialized from the kernel boot CPU features this
makes the XSAVES feature also unavailable for KVM guests in this case, even
though they might want to decide on their own whether they are affected by
this errata.
Allow KVM guests to make such decision by setting the XSAVES KVM CPU
capability bit based on the actual CPU capability
This is not generally safe, as the guest can make such a decision if and only if
the Family/Model/Stepping information is reasonably accurate.
This fixes booting Hyper-V enabled Windows Server 2016 VMs with more than
one vCPU on Zen1/2 CPUs.
How/why does lack of XSAVES break a multi-vCPU setup? Is Windows blindly doing
XSAVES based on FMS?