diff --git a/MinPlatformPkg/MinPlatformPkg.dsc b/MinPlatformPkg/MinPlatformPkg.dsc index feb2b3e012..0f94ec0b0d 100644 --- a/MinPlatformPkg/MinPlatformPkg.dsc +++ b/MinPlatformPkg/MinPlatformPkg.dsc @@ -190,6 +190,7 @@ MinPlatformPkg/PlatformInit/ReportFv/ReportFvPei.inf MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.inf + MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMemNonFsp.inf MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPostMem.inf MinPlatformPkg/PlatformInit/PlatformInitDxe/PlatformInitDxe.inf MinPlatformPkg/PlatformInit/PlatformInitSmm/PlatformInitSmm.inf diff --git a/MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupport.c b/MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupport.c new file mode 100644 index 0000000000..0e489ad462 --- /dev/null +++ b/MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupport.c @@ -0,0 +1,17 @@ +/** @file FspSupport.c + Provides FSP mode selection value based on PcdFspModeSelection + +Copyright (c) Microsoft Corporation. +SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#include + +UINT8 +EFIAPI +FspGetModeSelection ( + VOID + ) +{ + return PcdGet8 (PcdFspModeSelection); +} diff --git a/MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupportNull.c b/MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupportNull.c new file mode 100644 index 0000000000..ce8d33efd7 --- /dev/null +++ b/MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupportNull.c @@ -0,0 +1,17 @@ +/** @file FspSupport.c + Provides FSP mode selection value based on PcdFspModeSelection + +Copyright (c) Microsoft Corporation. +SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#include + +UINT8 +EFIAPI +FspGetModeSelection ( + VOID + ) +{ + return 0; +} diff --git a/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.c b/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.c index 8e5eaec084..21bfacf459 100644 --- a/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.c +++ b/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.c @@ -47,6 +47,12 @@ GetPlatformMemorySize ( IN OUT UINT64 *MemorySize ); +UINT8 +EFIAPI +FspGetModeSelection ( + VOID + ); + /** This function checks the memory range in PEI. @@ -516,7 +522,7 @@ PlatformInitPreMem ( BuildMemoryTypeInformation (); - if ((!PcdGetBool (PcdFspWrapperBootMode)) || (PcdGet8 (PcdFspModeSelection) == 0)) { + if ((!PcdGetBool (PcdFspWrapperBootMode)) || (FspGetModeSelection () == 0)) { // // Install memory relating PPIs for EDKII native build and FSP dispatch mode // diff --git a/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.inf b/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.inf index c8fa0ed3ac..7f4f8ce407 100644 --- a/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.inf +++ b/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.inf @@ -51,6 +51,7 @@ [Sources] PlatformInitPreMem.c + FspSupport.c [Ppis] gEfiPeiMemoryDiscoveredPpiGuid diff --git a/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMemNonFsp.inf b/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMemNonFsp.inf new file mode 100644 index 0000000000..f08fd11e86 --- /dev/null +++ b/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMemNonFsp.inf @@ -0,0 +1,68 @@ +### @file +# Component information file for the Platform Init Pre-Memory PEI module. +# +# Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.
+# Copyright (c) Microsoft Corporation. +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +### + +[Defines] + INF_VERSION = 0x00010017 + BASE_NAME = PlatformInitPreMemNonFsp + FILE_GUID = BEB6F1A6-F6BC-4C34-AB32-F0390A428479 + VERSION_STRING = 1.0 + MODULE_TYPE = PEIM + ENTRY_POINT = PlatformInitPreMemEntryPoint + +[LibraryClasses] + BaseMemoryLib + BoardInitLib + DebugLib + HobLib + IoLib + MemoryAllocationLib + PeimEntryPoint + PeiServicesLib + TestPointCheckLib + TimerLib + SetCacheMtrrLib + ReportCpuHobLib + +[Packages] + MinPlatformPkg/MinPlatformPkg.dec + MdeModulePkg/MdeModulePkg.dec + MdePkg/MdePkg.dec + +[Pcd] + gMinPlatformPkgTokenSpaceGuid.PcdFspWrapperBootMode ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterDebugInit ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdStopAfterMemInit ## CONSUMES + +[FixedPcd] + gMinPlatformPkgTokenSpaceGuid.PcdPlatformEfiAcpiReclaimMemorySize ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdPlatformEfiAcpiNvsMemorySize ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdPlatformEfiReservedMemorySize ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdPlatformEfiRtDataMemorySize ## CONSUMES + gMinPlatformPkgTokenSpaceGuid.PcdPlatformEfiRtCodeMemorySize ## CONSUMES + +[Sources] + PlatformInitPreMem.c + FspSupportNull.c + +[Ppis] + gEfiPeiMemoryDiscoveredPpiGuid + gEfiPeiMasterBootModePpiGuid ## PRODUCES + gEfiPeiBootInRecoveryModePpiGuid ## PRODUCES + gPlatformInitTempRamExitPpiGuid ## PRODUCES + gEfiPeiReadOnlyVariable2PpiGuid + gPeiBaseMemoryTestPpiGuid + gPeiPlatformMemorySizePpiGuid + +[Guids] + gEfiMemoryTypeInformationGuid + gEfiMemoryTypeMinimumAllocationGuid #MU_CHANGE - Add minimum memory type allocations + +[Depex] + gEfiPeiReadOnlyVariable2PpiGuid