From 2302a3eefedd8098cc94c9546359a72520d27259 Mon Sep 17 00:00:00 2001 From: PaddyDeng Date: Thu, 24 Oct 2024 15:00:30 +0800 Subject: [PATCH] Create PlatformInitPreMemNonFsp PlatformInitPreMemNonFsp provides identical function compares to PlatformInitPreMem. But using FspSupportNull.c thus does not require IntelSiliconPkg and IntelFsp2WrapperPkg as dependency. --- .../PlatformInit/PlatformInitPei/FspSupport.c | 10 +++ .../PlatformInitPei/FspSupportNull.c | 10 +++ .../PlatformInitPei/PlatformInitPreMem.c | 8 ++- .../PlatformInitPei/PlatformInitPreMem.inf | 1 + .../PlatformInitPreMemNonFsp.inf | 67 +++++++++++++++++++ 5 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupport.c create mode 100644 MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupportNull.c create mode 100644 MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMemNonFsp.inf diff --git a/MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupport.c b/MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupport.c new file mode 100644 index 0000000000..0ee337fa4e --- /dev/null +++ b/MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupport.c @@ -0,0 +1,10 @@ +#include + +UINT8 +EFIAPI +FspGetModeSelection ( + VOID + ) +{ + return PcdGet8 (PcdFspModeSelection); +} \ No newline at end of file diff --git a/MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupportNull.c b/MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupportNull.c new file mode 100644 index 0000000000..3afcca580f --- /dev/null +++ b/MinPlatformPkg/PlatformInit/PlatformInitPei/FspSupportNull.c @@ -0,0 +1,10 @@ +#include + +UINT8 +EFIAPI +FspGetModeSelection ( + VOID + ) +{ + return 0; +} \ No newline at end of file diff --git a/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.c b/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.c index 8e5eaec084..a334ce73af 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..a2208b455f --- /dev/null +++ b/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMemNonFsp.inf @@ -0,0 +1,67 @@ +### @file +# Component information file for the Platform Init Pre-Memory PEI module. +# +# Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.
+# +# 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