KVM: selftests: Assert that XTILE_DATA is set in IA32_XFD on #NM
authorMingwei Zhang <mizhang@google.com>
Tue, 21 Feb 2023 16:36:48 +0000 (16:36 +0000)
committerSean Christopherson <seanjc@google.com>
Fri, 24 Mar 2023 21:21:38 +0000 (14:21 -0700)
Add an extra check to IA32_XFD to ensure that XTILE_DATA is actually set,
i.e. is consistent with the AMX architecture. In addition, repeat the
checks after the guest/host world switch to ensure the values of IA32_XFD
and IA32_XFD_ERR are well preserved.

Signed-off-by: Mingwei Zhang <mizhang@google.com>
Link: https://lore.kernel.org/r/20230221163655.920289-7-mizhang@google.com
[sean: massage changelog]
Signed-off-by: Sean Christopherson <seanjc@google.com>
tools/testing/selftests/kvm/x86_64/amx_test.c

index 95a3061..cd0491c 100644 (file)
@@ -218,8 +218,10 @@ void guest_nm_handler(struct ex_regs *regs)
        GUEST_SYNC(7);
        GUEST_ASSERT(!(get_cr0() & X86_CR0_TS));
        GUEST_ASSERT(rdmsr(MSR_IA32_XFD_ERR) == XFEATURE_MASK_XTILEDATA);
+       GUEST_ASSERT(rdmsr(MSR_IA32_XFD) == XFEATURE_MASK_XTILEDATA);
        GUEST_SYNC(8);
        GUEST_ASSERT(rdmsr(MSR_IA32_XFD_ERR) == XFEATURE_MASK_XTILEDATA);
+       GUEST_ASSERT(rdmsr(MSR_IA32_XFD) == XFEATURE_MASK_XTILEDATA);
        /* Clear xfd_err */
        wrmsr(MSR_IA32_XFD_ERR, 0);
        /* xfd=0, enable amx */