lkml.org 
[lkml]   [2021]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 19/22] x86/fpu/amx: Enable the AMX feature in 64-bit mode
    Date
    In 64-bit mode, include the AMX state components in
    XFEATURE_MASK_USER_SUPPORTED.

    The XFD feature will be used to dynamically expand the xstate per-task
    buffer on the first use.

    Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
    Reviewed-by: Len Brown <len.brown@intel.com>
    Cc: x86@kernel.org
    Cc: linux-kernel@vger.kernel.org
    ---
    arch/x86/include/asm/fpu/xstate.h | 3 ++-
    arch/x86/kernel/fpu/init.c | 8 ++++++--
    2 files changed, 8 insertions(+), 3 deletions(-)

    diff --git a/arch/x86/include/asm/fpu/xstate.h b/arch/x86/include/asm/fpu/xstate.h
    index 4112dbf05f19..9e5c28f3beaa 100644
    --- a/arch/x86/include/asm/fpu/xstate.h
    +++ b/arch/x86/include/asm/fpu/xstate.h
    @@ -34,7 +34,8 @@
    XFEATURE_MASK_Hi16_ZMM | \
    XFEATURE_MASK_PKRU | \
    XFEATURE_MASK_BNDREGS | \
    - XFEATURE_MASK_BNDCSR)
    + XFEATURE_MASK_BNDCSR | \
    + XFEATURE_MASK_XTILE)

    /* All currently supported supervisor features */
    #define XFEATURE_MASK_SUPERVISOR_SUPPORTED (XFEATURE_MASK_PASID)
    diff --git a/arch/x86/kernel/fpu/init.c b/arch/x86/kernel/fpu/init.c
    index f2fcdcc979e7..046889f31037 100644
    --- a/arch/x86/kernel/fpu/init.c
    +++ b/arch/x86/kernel/fpu/init.c
    @@ -219,8 +219,12 @@ static void __init fpu__init_system_xstate_size_legacy(void)
    */
    u64 __init fpu__get_supported_xfeatures_mask(void)
    {
    - return XFEATURE_MASK_USER_SUPPORTED |
    - XFEATURE_MASK_SUPERVISOR_SUPPORTED;
    + u64 mask = XFEATURE_MASK_USER_SUPPORTED | XFEATURE_MASK_SUPERVISOR_SUPPORTED;
    +
    + if (!IS_ENABLED(CONFIG_X86_64))
    + mask &= ~(XFEATURE_MASK_XTILE);
    +
    + return mask;
    }

    /* Legacy code to initialize eager fpu mode. */
    --
    2.17.1
    \
     
     \ /
      Last update: 2021-02-21 20:06    [W:4.163 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site