lkml.org 
[lkml]   [2023]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH v2 7/7] KVM: selftests: x86: Repeat the checking of xheader when IA32_XFD[XTILEDATA] is set in amx_test
    From
    Repeat the checking of AMX component in xheader after XSAVEC when
    IA32_XFD[XTILEDATA] is set. This check calibrates the functionality scope
    of IA32_XFD: it does not intercept the XSAVE state management. Regardless
    of the values in IA32_XFD, AMX component state will still be managed by
    XSAVE* and XRSTOR* as long as the corresponding bits are set XCR0.

    Signed-off-by: Mingwei Zhang <mizhang@google.com>
    ---
    tools/testing/selftests/kvm/x86_64/amx_test.c | 10 ++++++++++
    1 file changed, 10 insertions(+)

    diff --git a/tools/testing/selftests/kvm/x86_64/amx_test.c b/tools/testing/selftests/kvm/x86_64/amx_test.c
    index 0e4c65f9e2f2..d991a473dc11 100644
    --- a/tools/testing/selftests/kvm/x86_64/amx_test.c
    +++ b/tools/testing/selftests/kvm/x86_64/amx_test.c
    @@ -201,6 +201,16 @@ static void __attribute__((__flatten__)) guest_code(struct tile_config *amx_cfg,

    /* xfd=0x40000, disable amx tiledata */
    wrmsr(MSR_IA32_XFD, XFEATURE_MASK_XTILEDATA);
    +
    + /*
    + * XTILEDATA is cleared in xstate_bv but set in xcomp_bv, this property
    + * remains the same even when amx tiledata is disabled by IA32_XFD.
    + */
    + xstate->header.xstate_bv = XFEATURE_MASK_XTILEDATA;
    + __xsavec(xstate, XFEATURE_MASK_XTILEDATA);
    + GUEST_ASSERT(!(xstate->header.xstate_bv & XFEATURE_MASK_XTILEDATA));
    + GUEST_ASSERT((xstate->header.xcomp_bv & XFEATURE_MASK_XTILEDATA));
    +
    GUEST_SYNC(6);
    GUEST_ASSERT(rdmsr(MSR_IA32_XFD) == XFEATURE_MASK_XTILEDATA);
    set_tilecfg(amx_cfg);
    --
    2.39.1.581.gbfd45094c4-goog
    \
     
     \ /
      Last update: 2023-03-27 00:23    [W:4.126 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site