Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp7019948pxv; Fri, 30 Jul 2021 08:09:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwdf8qz8UCPZcWV/n4hE9tq4wUEVRPeA8pYLAvqtTEvSFJoBSB1O7St/Efvufj0Kl6siv5S X-Received: by 2002:a17:906:4b43:: with SMTP id j3mr3050398ejv.524.1627657798079; Fri, 30 Jul 2021 08:09:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627657798; cv=none; d=google.com; s=arc-20160816; b=mwCqy3QEqJ4pVcnt9IdM/Iem9v/I4c6lH0rBGC+9OUHvi86SVIa+dS9sv5Nf0d8gvx rakzNH3asg2bIxHO/lwX5k7jOnybJek7PVrnjUrkANPjC/gpgCIaXi+FYoi3pjqVeRw8 xRbvBOegBK1SK/oMIsE93THgHX9FnAfTXAkzOiehsJU2IW435/fp8US7eqkhXBT7HlZL 0ROrLpH+IcBzgVeD4MjyGP9owVjTb2b74bOc98EwSvx+rpqMsmsIh9zjT8yC++2gZnGa RVjNP3R9RgoNZepB2na7PpJg5D+UH94pZzdVgvSbZ2pBfEeK3ripBdBGHB+Lb1GgAMeC 3WYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=oyteQqx8DYY5SO1LFrKVmBtlHLbm5dvE3JEIna4QTpY=; b=Uoem9lQKjfs72FMvE+vvY+xnBTPSsXWH5wbKJw1gVxBNQoiF/Ckey+ZI4GWExfHeOm s9Vw7QueZVw3IyRZqwqt/TAcw0xHxK7DoJiZ3DCJTV7NZmF/SpKLFM/SuqKjsTqFEcjs HjhoK1tYFdNfBwLTBA9XNxEynojfUavjncYk0VyRLzRUMvyfpvcj+Mk8W/IyEeCf3+F0 JIxv7RpRwsK23e+Moxmbi69emMXaeWTAa8/9yqiPtQ7q+7X/FIYxXgOA4qkPLL5l544e 9jWxkpl5qmxFRSRnYsatZHk8lRPpBFqNVLSSxpTKgtNDZrL+rPV45SK4ccCm3bAwrvXo kMPw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cw12si1973193edb.514.2021.07.30.08.09.35; Fri, 30 Jul 2021 08:09:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239562AbhG3PHT (ORCPT + 99 others); Fri, 30 Jul 2021 11:07:19 -0400 Received: from mga05.intel.com ([192.55.52.43]:52628 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239692AbhG3PGb (ORCPT ); Fri, 30 Jul 2021 11:06:31 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10061"; a="298699143" X-IronPort-AV: E=Sophos;i="5.84,282,1620716400"; d="scan'208";a="298699143" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jul 2021 08:06:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,282,1620716400"; d="scan'208";a="508154969" Received: from chang-linux-3.sc.intel.com ([172.25.66.175]) by FMSMGA003.fm.intel.com with ESMTP; 30 Jul 2021 08:06:07 -0700 From: "Chang S. Bae" To: bp@suse.de, luto@kernel.org, tglx@linutronix.de, mingo@kernel.org, x86@kernel.org Cc: len.brown@intel.com, dave.hansen@intel.com, thiago.macieira@intel.com, jing2.liu@intel.com, ravi.v.shankar@intel.com, linux-kernel@vger.kernel.org, chang.seok.bae@intel.com Subject: [PATCH v9 21/26] x86/fpu/amx: Enable the AMX feature in 64-bit mode Date: Fri, 30 Jul 2021 07:59:52 -0700 Message-Id: <20210730145957.7927-22-chang.seok.bae@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210730145957.7927-1-chang.seok.bae@intel.com> References: <20210730145957.7927-1-chang.seok.bae@intel.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In 64-bit mode, include the AMX state components in XFEATURE_MASK_USER_SUPPORTED. Signed-off-by: Chang S. Bae Reviewed-by: Len Brown Cc: x86@kernel.org Cc: linux-kernel@vger.kernel.org --- Changes from v5: * Adjusted macro changes and moved the disabling code for non-64-bit mode for the new base changes. Changes from v4: * Removed the irrelevant line from the changelog. (Thomas Gleixner) --- arch/x86/include/asm/fpu/xstate.h | 3 ++- arch/x86/kernel/fpu/xstate.c | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/fpu/xstate.h b/arch/x86/include/asm/fpu/xstate.h index 912b420cb148..f934ce88c048 100644 --- a/arch/x86/include/asm/fpu/xstate.h +++ b/arch/x86/include/asm/fpu/xstate.h @@ -35,7 +35,8 @@ XFEATURE_MASK_Hi16_ZMM | \ XFEATURE_MASK_PKRU | \ XFEATURE_MASK_BNDREGS | \ - XFEATURE_MASK_BNDCSR) + XFEATURE_MASK_BNDCSR | \ + XFEATURE_MASK_XTILE) /* * Features which are restored when returning to user space. diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c index dac01e4d7654..96056f49bcff 100644 --- a/arch/x86/kernel/fpu/xstate.c +++ b/arch/x86/kernel/fpu/xstate.c @@ -538,7 +538,8 @@ static void __init print_xstate_offset_size(void) XFEATURE_MASK_PKRU | \ XFEATURE_MASK_BNDREGS | \ XFEATURE_MASK_BNDCSR | \ - XFEATURE_MASK_PASID) + XFEATURE_MASK_PASID | \ + XFEATURE_MASK_XTILE) /* * setup the xstate image representing the init state @@ -1054,6 +1055,9 @@ void __init fpu__init_system_xstate(void) xfeatures_mask_all &= XFEATURE_MASK_USER_SUPPORTED | XFEATURE_MASK_SUPERVISOR_SUPPORTED; + if (!IS_ENABLED(CONFIG_X86_64)) + xfeatures_mask_all &= ~XFEATURE_MASK_XTILE; + /* Store it for paranoia check at the end */ xfeatures = xfeatures_mask_all; /* Do not support the dynamically allocated buffer yet. */ -- 2.17.1