diff options
| author | Sean Christopherson <seanjc@google.com> | 2024-10-03 16:43:32 -0700 | 
|---|---|---|
| committer | Sean Christopherson <seanjc@google.com> | 2024-11-01 09:26:32 -0700 | 
| commit | 8ae01bf64caaea5562f3af40a2fbe404a1e79403 (patch) | |
| tree | 952612aa21d7f708ecf2051de1cc877852a36348 | |
| parent | 8b14c4d85d031f7700fa4e042aebf99d933971f0 (diff) | |
KVM: selftests: Verify XCR0 can be "downgraded" and "upgraded"
Now that KVM selftests enable all supported XCR0 features by default, add
a testcase to the XCR0 vs. CPUID test to verify that the guest can disable
everything except the legacy FPU in XCR0, and then re-enable the full
feature set, which is kinda sorta what the test did before XCR0 was setup
by default.
Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Link: https://lore.kernel.org/r/20241003234337.273364-7-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
| -rw-r--r-- | tools/testing/selftests/kvm/x86_64/xcr0_cpuid_test.c | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/tools/testing/selftests/kvm/x86_64/xcr0_cpuid_test.c b/tools/testing/selftests/kvm/x86_64/xcr0_cpuid_test.c index a4aecdc77da5..c8a5c5e51661 100644 --- a/tools/testing/selftests/kvm/x86_64/xcr0_cpuid_test.c +++ b/tools/testing/selftests/kvm/x86_64/xcr0_cpuid_test.c @@ -79,6 +79,11 @@ static void guest_code(void)  	ASSERT_ALL_OR_NONE_XFEATURE(supported_xcr0,  				    XFEATURE_MASK_XTILE); +	vector = xsetbv_safe(0, XFEATURE_MASK_FP); +	__GUEST_ASSERT(!vector, +		       "Expected success on XSETBV(FP), got vector '0x%x'", +		       vector); +  	vector = xsetbv_safe(0, supported_xcr0);  	__GUEST_ASSERT(!vector,  		       "Expected success on XSETBV(0x%lx), got vector '0x%x'", | 
