Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff....@intel.com> CC: Feng Tian <feng.t...@intel.com> CC: Jiewen Yao <jiewen....@intel.com> CC: Michael Kinney <michael.d.kin...@intel.com> --- UefiCpuPkg/CpuMpPei/CpuMpPei.c | 8 ++++++++ UefiCpuPkg/CpuMpPei/CpuMpPei.h | 2 ++ UefiCpuPkg/CpuMpPei/CpuMpPei.inf | 1 + 3 files changed, 11 insertions(+)
diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.c b/UefiCpuPkg/CpuMpPei/CpuMpPei.c index a2f25b9..e39a813 100644 --- a/UefiCpuPkg/CpuMpPei/CpuMpPei.c +++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.c @@ -118,6 +118,10 @@ ApCFunction ( BistData = *(UINTN *) (PeiCpuMpData->Buffer + NumApsExecuting * PeiCpuMpData->CpuApStackSize - sizeof (UINTN)); PeiCpuMpData->CpuData[NumApsExecuting].ApicId = GetInitialApicId (); PeiCpuMpData->CpuData[NumApsExecuting].Health.Uint32 = (UINT32) BistData; + // + // Sync BSP's Mtrr table to all wakeup APs + // + MtrrSetAllMtrrs (&PeiCpuMpData->MtrrTable); } // @@ -286,6 +290,10 @@ CountProcessorNumber ( { // + // Store BSP's MTRR setting + // + MtrrGetAllMtrrs (&PeiCpuMpData->MtrrTable); + // // Send broadcast IPI to APs to wakeup APs // PeiCpuMpData->InitFlag = 1; diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.h b/UefiCpuPkg/CpuMpPei/CpuMpPei.h index 3194f1f..466ddc0 100644 --- a/UefiCpuPkg/CpuMpPei/CpuMpPei.h +++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.h @@ -24,6 +24,7 @@ #include <Library/DebugLib.h> #include <Library/HobLib.h> #include <Library/LocalApicLib.h> +#include <Library/MtrrLib.h> #include <Library/PcdLib.h> #include <Library/PeimEntryPoint.h> #include <Library/PeiServicesLib.h> @@ -115,6 +116,7 @@ struct _PEI_CPU_MP_DATA { UINTN ApFunctionArgument; volatile UINT32 FinishedCount; BOOLEAN InitFlag; + MTRR_SETTINGS MtrrTable; PEI_CPU_DATA *CpuData; volatile MP_CPU_EXCHANGE_INFO *MpCpuExchangeInfo; }; diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.inf b/UefiCpuPkg/CpuMpPei/CpuMpPei.inf index 4d7ba3e..e195f8c 100644 --- a/UefiCpuPkg/CpuMpPei/CpuMpPei.inf +++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.inf @@ -53,6 +53,7 @@ DebugLib HobLib LocalApicLib + MtrrLib PcdLib PeimEntryPoint PeiServicesLib -- 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 edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel