[edk2-devel] [Patch V3 0/8] Resolve Quark build and boot issues

Michael D Kinney posted 8 patches 4 years, 12 months ago
Failed in applying to current master (apply log)
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
[edk2-devel] [Patch V3 0/8] Resolve Quark build and boot issues
Posted by Michael D Kinney 4 years, 12 months ago
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 <kelly.steele@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>

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


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#39865): https://edk2.groups.io/g/devel/message/39865
Mute This Topic: https://groups.io/mt/31424365/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch V3 0/8] Resolve Quark build and boot issues
Posted by Liming Gao 4 years, 11 months ago
The change in MdePkg is good. Reviewed-by: Liming Gao <liming.gao@intel.com>

>-----Original Message-----
>From: Kinney, Michael D
>Sent: Wednesday, May 01, 2019 3:31 AM
>To: devel@edk2.groups.io
>Cc: Steele, Kelly <kelly.steele@intel.com>; Gao, Liming
><liming.gao@intel.com>; Dong, Eric <eric.dong@intel.com>; Ni, Ray
><ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>
>Subject: [Patch V3 0/8] Resolve Quark build and boot issues
>
>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 <kelly.steele@intel.com>
>Cc: Liming Gao <liming.gao@intel.com>
>Cc: Eric Dong <eric.dong@intel.com>
>Cc: Ray Ni <ray.ni@intel.com>
>Cc: Laszlo Ersek <lersek@redhat.com>
>Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
>
>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


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#39990): https://edk2.groups.io/g/devel/message/39990
Mute This Topic: https://groups.io/mt/31424365/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch V3 0/8] Resolve Quark build and boot issues
Posted by Steele, Kelly 4 years, 11 months ago

Reviewed-by: Kelly Steele <kelly.steele@intel.com>



> -----Original Message-----
> From: Kinney, Michael D
> Sent: April 30, 2019 12:31
> To: devel@edk2.groups.io
> Cc: Steele, Kelly <kelly.steele@intel.com>; Gao, Liming
> <liming.gao@intel.com>; Dong, Eric <eric.dong@intel.com>; Ni, Ray
> <ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>
> Subject: [Patch V3 0/8] Resolve Quark build and boot issues
> 
> 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 <kelly.steele@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
> 
> 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


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#40211): https://edk2.groups.io/g/devel/message/40211
Mute This Topic: https://groups.io/mt/31424365/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-