Shall you allow shadow in CpuMpPei driver entry point like below?
//
// Shadow this PEIM to run from memory
//
if (!EFI_ERROR (PeiServicesRegisterForShadow (FileHandle))) {
return EFI_SUCCESS;
}
Others look good to me
Reviewed-by: Feng Tian <[email protected]>
-----Original Message-----
From: Jeff Fan [mailto:[email protected]]
Sent: Friday, July 03, 2015 11:10 PM
To: [email protected]
Subject: [edk2] [Patch 00/28] UefiCpuPkg: Add CpuMpPei install PI CPU MP PPI
PI 1.4 introduced CPU MP PPI to provide MP service in PEI.
This serial patches include:
A. Added three PCDs in UefiCpuPkg: PcdCpuApInitTimeOutInMicroSeconds,
PcdCpuMicrocodePatchAddress and PcdCpuMicrocodePatchRegionSize.
B. Added some CPU ID definitions in Include\Register\LocalApic.h.
C. Added CpuMpPei driver in UefiCpuPkg.
1. Prepare wakeup buffer and wakeup Aps to collect Aps count.
2. Load GDT on BSP/Aps.
3. Load microcode on BSP/Aps.
4. Sync BSP's mtrr setting to Aps.
5. Install CPU MP PPI to provide MP service in PEI defined in PI 1.4.
6. Collect and publish Aps BIST information.
Jeff Fan (28):
UefiCpuPkg: Add CpuMpPei module
UefiCpuPkg/CpuMpPei: Load GDT table on BSP
UefiCpuPkg/CpuMpPei: Find available memory < 1MB for AP reset code
UefiCpuPkg/CpuMpPei: Add MP exchange structure definition
UefiCpuPkg/CpuMpPei: Add AP reset IA32 assembly code
UefiCpuPkg/CpuMpPei: Add AP reset x64 assembly code
UefiCpuPkg/CpuMpPei: Initialize FPU per UEFI specification
UefiCpuPkg/CpuMpPei: Get AP reset code size and far jump information
UefiCpuPkg/CpuMpPei: Prepare for buffer for AP wakeup and CPU MP data
UefiCpuPkg: Add PcdCpuApInitTimeOutInMicroSeconds
UefiCpuPkg/CpuMpPei: Wakeup APs and collect AP count
UefiCpuPkg/CpuMpPei: Sort APIC ID in ascending order
UefiCpuPkg/CpuMpPei: Sync BPS's mtrr setting to APs
UefiCpuPkg: Add microcode PCDs
UefiCpuPkg: Add some CPUID definitions
UefiCpuPkg/CpuMpPei: Load microcode on BSP and APs
UefiCpuPkg/CpuMpPei: Build one GUIDed HOB to save CPU MP Data
UefiCpuPkg/CpuMpPei: Update and publish CPU BIST information
UefiCpuPkg/CpuMpPei: Implementation of PeiWhoAmI ()
UefiCpuPkg/CpuMpPei: Implementation of PeiGetNumberOfProcessors ()
UefiCpuPkg/CpuMpPei: Implementation of PeiGetProcessorInfo ()
UefiCpuPkg/CpuMpPei: Implementation of PeiStartupAllAPs ()
UefiCpuPkg/CpuMpPei: Implementation of PeiStartupThisAP ()
UefiCpuPkg/CpuMpPei: Implementation of PeiSwitchBSP ()
UefiCpuPkg/CpuMpPei: Implementation of PeiEnableDisableAP ()
UefiCpuPkg/CpuMpPei: Install PI CPU MP PPI
UefiCpuPkg/CpuMpPei: Add AsmHltLoop ()
UefiCpuPkg/CpuMpPei: Register callback on End Of Pei PPI
UefiCpuPkg/CpuMpPei/CpuBist.c | 260 +++++++++
UefiCpuPkg/CpuMpPei/CpuMpPei.c | 565 +++++++++++++++++++
UefiCpuPkg/CpuMpPei/CpuMpPei.h | 302 ++++++++++
UefiCpuPkg/CpuMpPei/CpuMpPei.inf | 90 +++
UefiCpuPkg/CpuMpPei/CpuMpPei.uni | Bin 0 -> 1706 bytes
UefiCpuPkg/CpuMpPei/CpuMpPeiExtra.uni | Bin 0 -> 1344 bytes
UefiCpuPkg/CpuMpPei/Ia32/MpEqu.inc | 40 ++
UefiCpuPkg/CpuMpPei/Ia32/MpFuncs.asm | 276 +++++++++
UefiCpuPkg/CpuMpPei/Ia32/MpFuncs.nasm | 255 +++++++++
UefiCpuPkg/CpuMpPei/Microcode.c | 200 +++++++
UefiCpuPkg/CpuMpPei/Microcode.h | 68 +++
UefiCpuPkg/CpuMpPei/PeiMpServices.c | 960 ++++++++++++++++++++++++++++++++
UefiCpuPkg/CpuMpPei/PeiMpServices.h | 395 +++++++++++++
UefiCpuPkg/CpuMpPei/X64/MpEqu.inc | 45 ++
UefiCpuPkg/CpuMpPei/X64/MpFuncs.asm | 334 +++++++++++
UefiCpuPkg/CpuMpPei/X64/MpFuncs.nasm | 327 +++++++++++
UefiCpuPkg/Include/Register/LocalApic.h | 6 +-
UefiCpuPkg/UefiCpuPkg.dec | 13 +-
UefiCpuPkg/UefiCpuPkg.dsc | 1 +
19 files changed, 4135 insertions(+), 2 deletions(-) create mode 100644
UefiCpuPkg/CpuMpPei/CpuBist.c create mode 100644
UefiCpuPkg/CpuMpPei/CpuMpPei.c create mode 100644
UefiCpuPkg/CpuMpPei/CpuMpPei.h create mode 100644
UefiCpuPkg/CpuMpPei/CpuMpPei.inf create mode 100644
UefiCpuPkg/CpuMpPei/CpuMpPei.uni create mode 100644
UefiCpuPkg/CpuMpPei/CpuMpPeiExtra.uni
create mode 100644 UefiCpuPkg/CpuMpPei/Ia32/MpEqu.inc
create mode 100644 UefiCpuPkg/CpuMpPei/Ia32/MpFuncs.asm
create mode 100644 UefiCpuPkg/CpuMpPei/Ia32/MpFuncs.nasm
create mode 100644 UefiCpuPkg/CpuMpPei/Microcode.c create mode 100644
UefiCpuPkg/CpuMpPei/Microcode.h create mode 100644
UefiCpuPkg/CpuMpPei/PeiMpServices.c
create mode 100644 UefiCpuPkg/CpuMpPei/PeiMpServices.h
create mode 100644 UefiCpuPkg/CpuMpPei/X64/MpEqu.inc create mode 100644
UefiCpuPkg/CpuMpPei/X64/MpFuncs.asm
create mode 100644 UefiCpuPkg/CpuMpPei/X64/MpFuncs.nasm
--
1.9.5.msysgit.0
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that you need
to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel