From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: michael.d.kinney@intel.com) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by groups.io with SMTP; Tue, 30 Apr 2019 12:31:12 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Apr 2019 12:31:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,414,1549958400"; d="scan'208";a="320349796" Received: from unknown (HELO mdkinney-MOBL2.amr.corp.intel.com) ([10.241.111.157]) by orsmga005.jf.intel.com with ESMTP; 30 Apr 2019 12:31:11 -0700 From: "Michael D Kinney" To: devel@edk2.groups.io Cc: Kelly Steele , Liming Gao , Eric Dong , Ray Ni , Laszlo Ersek Subject: [Patch V3 0/8] Resolve Quark build and boot issues Date: Tue, 30 Apr 2019 12:31:00 -0700 Message-Id: <20190430193108.8544-1-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.21.0.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit New in V3 ========= * Remove change to MpInitLib to avoid use of MSR_IA32_APIC_BASE. That change was not safe because an AP could call the PCD Protocol/PPI. * Add new MpInitLibUp for uni-processor platforms. * Update Quark DSC files to use MpInitLibUp for uni-processor platforms. * Add missing CpuLub library class to the CpuMpPei INF file New in V2 ========= * Add PcdSpeculationBarrierType to select between LFENCE, CPUID, and no operation in the x86 implementation of the BaseLib function SpeculationBarrier(). * Set PcdSpeculationBarrierType to CPUID on Quark platforms. This series of patches resolves a few issues with building and booting Quark platforms. * Resolve name collision from API added to ResetSystemLib * Set SMRAM region to UC when SMRAM region is closed * Do no use LFENCE if CPU does not support SSE2 * Avoid MSR_IA32_APIC_BASE if there is only one CPU Cc: Kelly Steele Cc: Liming Gao Cc: Eric Dong Cc: Ray Ni Cc: Laszlo Ersek Signed-off-by: Michael D Kinney Michael D Kinney (8): MdePkg: Add PcdSpeculationBarrierType MdePkg/BaseLib: Use PcdSpeculationBarrierType QuarkPlatformPkg: Set PcdSpeculationBarrierType to CPUID UefiCpuPkg/MpInitLibUp: Add uniprocessor MpInitLib UefiCPuPkg/CpuMpPei: Add missing CpuLib class QuarkPlatformPkg: Use uniprocessor MpInitLibUp QuarkSocPkg/SmmAccessDxe: Set region to UC on SMRAM close QuarkPlatformPkg/PlatformInit: Resolve ResetSystemLib name collision MdePkg/Library/BaseLib/BaseLib.inf | 1 + .../Library/BaseLib/X86SpeculationBarrier.c | 8 +- MdePkg/MdePkg.dec | 9 + MdePkg/MdePkg.uni | 8 + .../Pei/PlatformInit/MemoryCallback.c | 6 +- .../Pei/PlatformInit/PlatformEarlyInit.h | 4 +- QuarkPlatformPkg/Quark.dsc | 10 +- QuarkPlatformPkg/QuarkMin.dsc | 8 +- .../Smm/Dxe/SmmAccessDxe/SmmAccess.inf | 3 +- .../Smm/Dxe/SmmAccessDxe/SmmAccessDriver.c | 18 +- .../Smm/Dxe/SmmAccessDxe/SmmAccessDriver.h | 3 +- UefiCpuPkg/CpuMpPei/CpuMpPei.inf | 3 +- UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c | 407 ++++++++++++++++++ .../Library/MpInitLibUp/MpInitLibUp.inf | 37 ++ .../Library/MpInitLibUp/MpInitLibUp.uni | 14 + UefiCpuPkg/UefiCpuPkg.dsc | 3 +- 16 files changed, 525 insertions(+), 17 deletions(-) create mode 100644 UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c create mode 100644 UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf create mode 100644 UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.uni -- 2.21.0.windows.1