From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: michael.d.kinney@intel.com) Received: from mga04.intel.com (mga04.intel.com []) by groups.io with SMTP; Mon, 29 Apr 2019 18:30:16 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Apr 2019 18:30:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,411,1549958400"; d="scan'208";a="139954335" Received: from unknown (HELO mdkinney-MOBL2.amr.corp.intel.com) ([10.241.111.157]) by orsmga006.jf.intel.com with ESMTP; 29 Apr 2019 18:30:15 -0700 From: "Michael D Kinney" To: devel@edk2.groups.io Cc: Kelly Steele Subject: [Patch V2 3/6] QuarkPlatformPkg: Set PcdSpeculationBarrierType to CPUID Date: Mon, 29 Apr 2019 18:30:09 -0700 Message-Id: <20190430013012.24008-4-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.21.0.windows.1 In-Reply-To: <20190430013012.24008-1-michael.d.kinney@intel.com> References: <20190430013012.24008-1-michael.d.kinney@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Set PcdSpeculationBarrierType to use CPUID instead of the default LFENCE in the BaseLib function SpeculationBarrier(). LFENCE requires SSE2, and Quark platforms do not support SSE2. Cc: Kelly Steele Signed-off-by: Michael D Kinney --- QuarkPlatformPkg/Quark.dsc | 7 ++++++- QuarkPlatformPkg/QuarkMin.dsc | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/QuarkPlatformPkg/Quark.dsc b/QuarkPlatformPkg/Quark.dsc index 422fd9cf8d..96ddc1565a 100644 --- a/QuarkPlatformPkg/Quark.dsc +++ b/QuarkPlatformPkg/Quark.dsc @@ -2,7 +2,7 @@ # Clanton Peak CRB platform with 32-bit DXE for 4MB/8MB flash devices. # # This package provides Clanton Peak CRB platform specific modules. -# Copyright (c) 2013 - 2018 Intel Corporation. +# Copyright (c) 2013 - 2019 Intel Corporation. # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -448,6 +448,11 @@ [PcdsFixedAtBuild] gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName|L"QUARKREC.Cap" !endif + # + # Quark does not support LFENCE. Use CPUID as speculation barrier + # + gEfiMdePkgTokenSpaceGuid.PcdSpeculationBarrierType|0x02 + [PcdsPatchableInModule] gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x803000C7 gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0 diff --git a/QuarkPlatformPkg/QuarkMin.dsc b/QuarkPlatformPkg/QuarkMin.dsc index 00e2febb54..8ca75bc474 100644 --- a/QuarkPlatformPkg/QuarkMin.dsc +++ b/QuarkPlatformPkg/QuarkMin.dsc @@ -406,6 +406,11 @@ [PcdsFixedAtBuild] gEfiMdeModulePkgTokenSpaceGuid.PcdConInConnectOnDemand|FALSE + # + # Quark does not support LFENCE. Use CPUID as speculation barrier + # + gEfiMdePkgTokenSpaceGuid.PcdSpeculationBarrierType|0x02 + [PcdsPatchableInModule] gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x803000C7 gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0 -- 2.21.0.windows.1