Messages in this thread | ![/](/images/icornerl.gif) | | Date | Fri, 16 Jun 2023 09:58:56 +0800 | Subject | Re: [PATCH v3 07/21] KVM:x86: Refresh CPUID on write to guest MSR_IA32_XSS | From | "Yang, Weijiang" <> |
| |
On 6/16/2023 7:45 AM, Sean Christopherson wrote: > On Wed, May 31, 2023, Weijiang Yang wrote: >> On 5/30/2023 8:08 PM, Chao Gao wrote: >>>>>> --- 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. >> OK, will change this part to align with xcr0 settings. Thanks! > Please write KVM-Unit-Tests to verify KVM correctly handles the various MSRs related > to CET, e.g. a test_cet_msrs() subtest in msr.c would do nicely. Hmm, though testing > the combinations of CPUID bits will require multiple x86/unittests.cfg entries. > Might be time to split up msr.c into a library and then multiple tests.
Since there's already a CET specific unit test app, do you mind adding all CET related stuffs to
the app to make it inclusive? e.g., validate constraints between CET CPUIDs vs. CET/XSS MSRs?
| ![\](/images/icornerr.gif) |