Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp2750903pxb; Mon, 31 Jan 2022 03:35:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJxCu4f6whxDLJJDomsLxaGQ0yMPGoZ9A4HS+rsHgkcIzZngkXTbK3JzQRyfgKCoTs5f/crw X-Received: by 2002:a63:884a:: with SMTP id l71mr14647195pgd.589.1643628914345; Mon, 31 Jan 2022 03:35:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643628914; cv=none; d=google.com; s=arc-20160816; b=QGLdJNVKAbSLVIn30PrGjzGKMnVzPMPbWkQ8z5IaTtsKwXS/XYQQ+fRZoXkyZcIcFP K8P81tTxQvgJnVs8vgw+j+8VEmiGj+GLDnXaBrkqTpQSezNcqdgEnJ2ZGafnISCDCQOi WVninL9f0bMZDuQERrwnRu6ss/rY3cWECakLbvREVhyU5R9pf8zL7/JIN06h+Vz5J36+ 5mZNejqQD6TXr+AqoSDngM/YlfRBTuuMBMWvTYCt0bn9z1WJTOJe/WNs/4kDJVgXzU0b M/nvMLpyeRhBZTfygYzfDC03zUa1EKOxBhh1seGj+cYTDwL55xhPBYwFS5TpbkrTS3jl M+hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=bfAuixCwpx+5v6p4hBqWcAMTapE1Y9ZQRtn/isu5bOA=; b=bG1fWannFKFjzluQ8CoJD62ECr1qeM1mAi+8OslXdAJZkrwZvevGJrhAsiwMP3zCxr IJ3etPdh3DNYkY4UJeR4ZxQ1yHHFpyUJD5Be0tRKgaq1ZkyEFwj6mE8aW9Nes2BmOok+ QYj6RTGq824mXpaQ/un3fgr2ZFEq6rPUGafG1yuclUmJBTAgxe+32ePEzhK7p/q9pFQE 2jz4c4BAwdho8LgyQMtHqzayo3VlhmFbPdYcw765ZtgRF1l4i9qM19qfk0MA4MI7UusQ 8QhemEMYWe+1Yz+IkFEJU+Za4tQt4Z5bEI0Essl5DEMXyUhNTKuCe1yW7lvhT+7OZUJD I7HA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=JoPRlVt1; 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=pass (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 14si14688558pga.682.2022.01.31.03.35.03; Mon, 31 Jan 2022 03:35:14 -0800 (PST) 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; dkim=pass header.i=@intel.com header.s=Intel header.b=JoPRlVt1; 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=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351301AbiA1U3d (ORCPT + 99 others); Fri, 28 Jan 2022 15:29:33 -0500 Received: from mga03.intel.com ([134.134.136.65]:63494 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1351160AbiA1U3X (ORCPT ); Fri, 28 Jan 2022 15:29:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643401763; x=1674937763; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=fB10nwZMIIkZgxpaLbu+h5IIsCNWZL2euG5C+O9nJak=; b=JoPRlVt1GWrH0oV/Zq43OasnIoKS1nfQeWAB6q3tDgTJugvBsKenVnbl pdR4MoI8eZNkIP0naawh2o1Tqerj1UzpSx/VoK2MnsbhYjW7olXiLjWqH CaTvd4RqnAhZFZhoDFCyJtXdebVImFONSezpOXAOlh7bcqpuvHX2sG+hA AkKfFvjIxc+QfsF8Qn6W7QcYeziso/dzuM1mlcRaLq0D8EK7wCAoCAuFF aUITJLYi4Ui84Ty6P0vdybaDzaIk0T2NdP+o3GvnXktp8x9KXgWd3HFZu S25dLxzO/kk9uX8GdM7JaLDPwBTukm3aN/GrGQp1GIlQHXLQU1/ACfzG/ Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10241"; a="247142797" X-IronPort-AV: E=Sophos;i="5.88,324,1635231600"; d="scan'208";a="247142797" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jan 2022 12:29:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,324,1635231600"; d="scan'208";a="618827712" Received: from otcwcpicx3.sc.intel.com ([172.25.55.73]) by FMSMGA003.fm.intel.com with ESMTP; 28 Jan 2022 12:29:23 -0800 From: Fenghua Yu To: "Thomas Gleixner" , "Dave Hansen" , "Ingo Molnar" , "Borislav Petkov" , "Peter Zijlstra" , "Andy Lutomirski" , "Tony Luck" , "Lu Baolu" , "Joerg Roedel" , Josh Poimboeuf , "Jacob Pan" , "Ashok Raj" , "Ravi V Shankar" Cc: iommu@lists.linux-foundation.org, "x86" , "linux-kernel" , Fenghua Yu Subject: [PATCH v3 09/11] x86/cpufeatures: Re-enable ENQCMD Date: Fri, 28 Jan 2022 12:29:03 -0800 Message-Id: <20220128202905.2274672-10-fenghua.yu@intel.com> X-Mailer: git-send-email 2.35.0 In-Reply-To: <20220128202905.2274672-1-fenghua.yu@intel.com> References: <20220128202905.2274672-1-fenghua.yu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since ENQCMD is handled by #GP fix up, it can be re-enabled. The ENQCMD feature can only be used if CONFIG_INTEL_IOMMU_SVM is set. Add X86_FEATURE_ENQCMD to the disabled features mask as appropriate so that cpu_feature_enabled() can be used to check the feature. Signed-off-by: Fenghua Yu Reviewed-by: Tony Luck --- v2: - Update the commit message (Tony). arch/x86/include/asm/disabled-features.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/disabled-features.h b/arch/x86/include/asm/disabled-features.h index 8f28fafa98b3..1231d63f836d 100644 --- a/arch/x86/include/asm/disabled-features.h +++ b/arch/x86/include/asm/disabled-features.h @@ -56,8 +56,11 @@ # define DISABLE_PTI (1 << (X86_FEATURE_PTI & 31)) #endif -/* Force disable because it's broken beyond repair */ -#define DISABLE_ENQCMD (1 << (X86_FEATURE_ENQCMD & 31)) +#ifdef CONFIG_INTEL_IOMMU_SVM +# define DISABLE_ENQCMD 0 +#else +# define DISABLE_ENQCMD (1 << (X86_FEATURE_ENQCMD & 31)) +#endif #ifdef CONFIG_X86_SGX # define DISABLE_SGX 0 -- 2.35.0