>> > --- a/arch/x86/kvm/x86.c >> > +++ b/arch/x86/kvm/x86.c >> > @@ -3776,8 +3776,10 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info) >> > */ >> > if (data & ~kvm_caps.supported_xss) >> Shouldn't we check against the supported value of _this_ guest? similar to >> guest_supported_xcr0. > >I don't think it requires an extra variable to serve per guest purpose. > >For guest XSS settings, now we don't add extra constraints like XCR0, thus QEMU can impose constraints by configuring guest CPUID.0xd.1 to indicate certain supervisor state components cannot be managed by XSAVES, even though KVM supports them. IOW, guests may differ in the supported values for the IA32_XSS MSR.