From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752575AbcAFWc3 (ORCPT ); Wed, 6 Jan 2016 17:32:29 -0500 Received: from mga09.intel.com ([134.134.136.24]:40987 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752458AbcAFWcZ (ORCPT ); Wed, 6 Jan 2016 17:32:25 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,530,1444719600"; d="scan'208";a="854940985" From: yu-cheng yu To: linux-kernel@vger.kernel.org Cc: yu-cheng yu , x86@kernel.org, "H. Peter Anvin" , Thomas Gleixner , Dave Hansen , Ingo Molnar , Borislav Petkov , Sai Praneeth Prakhya , "Ravi V. Shankar" , Fenghua Yu Subject: [PATCH 2/4] x86/fpu: Disable XGETBV1 when no XSAVE Date: Wed, 6 Jan 2016 14:24:52 -0800 Message-Id: <1452119094-7252-3-git-send-email-yu-cheng.yu@intel.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1452119094-7252-1-git-send-email-yu-cheng.yu@intel.com> References: <1452119094-7252-1-git-send-email-yu-cheng.yu@intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When "noxsave" is given as a command-line input, the kernel should disable XGETBV1. This issue currently does not cause any actual problems. XGETBV1 is only useful if we have something using the 'init optimization' (i.e. xsaveopt, xsaves). We already clear both of those in fpu__xstate_clear_all_cpu_caps(). But this is good for completeness. Signed-off-by: Yu-cheng Yu Reviewed-by: Dave Hansen Cc: x86@kernel.org Cc: H. Peter Anvin Cc: Thomas Gleixner Cc: Dave Hansen Cc: Ingo Molnar Cc: Borislav Petkov Cc: Sai Praneeth Prakhya Cc: Ravi V. Shankar Cc: Fenghua Yu --- arch/x86/kernel/fpu/xstate.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c index 70fc312..b27d3b6 100644 --- a/arch/x86/kernel/fpu/xstate.c +++ b/arch/x86/kernel/fpu/xstate.c @@ -52,6 +52,7 @@ void fpu__xstate_clear_all_cpu_caps(void) setup_clear_cpu_cap(X86_FEATURE_AVX512ER); setup_clear_cpu_cap(X86_FEATURE_AVX512CD); setup_clear_cpu_cap(X86_FEATURE_MPX); + setup_clear_cpu_cap(X86_FEATURE_XGETBV1); } /* -- 1.9.1