QEMU can impose constraints by configuring guest CPUID.0xd.1 to indicateI don't think it requires an extra variable to serve per guest purpose.--- a/arch/x86/kvm/x86.cShouldn't we check against the supported value of _this_ guest? similar to
+++ 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)
guest_supported_xcr0.
For guest XSS settings, now we don't add extra constraints like XCR0, thus
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.