From 4883513061c7bbcb805cd310b82ab6abb546b1aa Mon Sep 17 00:00:00 2001 From: oliviermartin Date: Fri, 1 Jul 2011 11:45:32 +0000 Subject: [PATCH] ArmPlatformPkg/PlatformPei: Generate a library from the PEI Module In the aim to reuse the Platform Pei features in a PrePi module (use to skip the PEI Core), this module has been divided into two files: - PlatformPeiLib: declare the platform HOBs - PlatformPeim: PEIM wrapper for the library git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11951 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPlatformPkg/PlatformPei/PlatformPeiLib.c | 35 ++++++++++++ ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf | 53 +++++++++++++++++++ .../{PlatformPei.c => PlatformPeim.c} | 34 ++++++------ .../{PlatformPei.inf => PlatformPeim.inf} | 7 +-- 4 files changed, 108 insertions(+), 21 deletions(-) create mode 100755 ArmPlatformPkg/PlatformPei/PlatformPeiLib.c create mode 100755 ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf rename ArmPlatformPkg/PlatformPei/{PlatformPei.c => PlatformPeim.c} (84%) mode change 100644 => 100755 rename ArmPlatformPkg/PlatformPei/{PlatformPei.inf => PlatformPeim.inf} (91%) mode change 100644 => 100755 diff --git a/ArmPlatformPkg/PlatformPei/PlatformPeiLib.c b/ArmPlatformPkg/PlatformPei/PlatformPeiLib.c new file mode 100755 index 0000000000..d4faa6258e --- /dev/null +++ b/ArmPlatformPkg/PlatformPei/PlatformPeiLib.c @@ -0,0 +1,35 @@ +/** @file +* +* Copyright (c) 2011, ARM Limited. All rights reserved. +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the BSD License +* which accompanies this distribution. The full text of the license may be found at +* http://opensource.org/licenses/bsd-license.php +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +* +**/ + +#include + +#include +#include +#include + +EFI_STATUS +EFIAPI +PlatformPeim ( + VOID + ) +{ + // Initialize the platform specific controllers + ArmPlatformNormalInitialize (); + + BuildCpuHob (PcdGet8 (PcdPrePiCpuMemorySize), PcdGet8 (PcdPrePiCpuIoSize)); + + BuildFvHob (PcdGet32(PcdNormalFvBaseAddress), PcdGet32(PcdNormalFvSize)); + + return EFI_SUCCESS; +} diff --git a/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf b/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf new file mode 100755 index 0000000000..74fdcc8c42 --- /dev/null +++ b/ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf @@ -0,0 +1,53 @@ +#/** @file +# +# Copyright (c) 2011, ARM Limited. All rights reserved. +# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +#**/ + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = ArmPlatformPeiLib + FILE_GUID = 49d37060-70b5-11e0-aa2d-0002a5d5c51b + MODULE_TYPE = SEC + VERSION_STRING = 1.0 + LIBRARY_CLASS = PlatformPeiLib + +[Sources] + PlatformPeiLib.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + EmbeddedPkg/EmbeddedPkg.dec + ArmPkg/ArmPkg.dec + ArmPlatformPkg/ArmPlatformPkg.dec + +[LibraryClasses] + DebugLib + HobLib + ArmPlatformLib + +[Ppis] + gEfiPeiMasterBootModePpiGuid # PPI ALWAYS_PRODUCED + gEfiPeiBootInRecoveryModePpiGuid # PPI SOMETIMES_PRODUCED + +[FixedPcd] + gArmTokenSpaceGuid.PcdNormalFdBaseAddress + gArmTokenSpaceGuid.PcdNormalFdSize + + gArmTokenSpaceGuid.PcdNormalFvBaseAddress + gArmTokenSpaceGuid.PcdNormalFvSize + + gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize + gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize + +[depex] + TRUE diff --git a/ArmPlatformPkg/PlatformPei/PlatformPei.c b/ArmPlatformPkg/PlatformPei/PlatformPeim.c old mode 100644 new mode 100755 similarity index 84% rename from ArmPlatformPkg/PlatformPei/PlatformPei.c rename to ArmPlatformPkg/PlatformPei/PlatformPeim.c index 3ccbbfd2d7..9599a7a747 --- a/ArmPlatformPkg/PlatformPei/PlatformPei.c +++ b/ArmPlatformPkg/PlatformPei/PlatformPeim.c @@ -12,10 +12,8 @@ * **/ -// -// The package level header files this module uses -// #include + // // The protocols, PPI and GUID defintions for this module // @@ -24,12 +22,17 @@ // // The Library classes this module consumes // -#include -#include #include #include -#include +#include +#include +EFI_STATUS +EFIAPI +InitializePlatformPeim ( + IN EFI_PEI_FILE_HANDLE FileHandle, + IN CONST EFI_PEI_SERVICES **PeiServices + ); // // Module globals @@ -46,12 +49,6 @@ EFI_PEI_PPI_DESCRIPTOR mPpiListRecoveryBootMode = { NULL }; -EFI_STATUS -EFIAPI -InitializePlatformPeim ( - IN EFI_PEI_FILE_HANDLE FileHandle, - IN CONST EFI_PEI_SERVICES **PeiServices - ) /*++ Routine Description: @@ -68,18 +65,19 @@ Returns: Status - EFI_SUCCESS if the boot mode could be set --*/ +EFI_STATUS +EFIAPI +InitializePlatformPeim ( + IN EFI_PEI_FILE_HANDLE FileHandle, + IN CONST EFI_PEI_SERVICES **PeiServices + ) { EFI_STATUS Status; UINTN BootMode; DEBUG ((EFI_D_ERROR, "Platform PEIM Loaded\n")); - // Initialize the platform specific controllers - ArmPlatformNormalInitialize (); - - BuildCpuHob (PcdGet8 (PcdPrePiCpuMemorySize), PcdGet8 (PcdPrePiCpuIoSize)); - - BuildFvHob (PcdGet32(PcdNormalFvBaseAddress), PcdGet32(PcdNormalFvSize)); + PlatformPeim (); BootMode = ArmPlatformGetBootMode (); Status = (**PeiServices).SetBootMode (PeiServices, (UINT8) BootMode); diff --git a/ArmPlatformPkg/PlatformPei/PlatformPei.inf b/ArmPlatformPkg/PlatformPei/PlatformPeim.inf old mode 100644 new mode 100755 similarity index 91% rename from ArmPlatformPkg/PlatformPei/PlatformPei.inf rename to ArmPlatformPkg/PlatformPei/PlatformPeim.inf index bbc5f1a028..2a7c09389a --- a/ArmPlatformPkg/PlatformPei/PlatformPei.inf +++ b/ArmPlatformPkg/PlatformPei/PlatformPeim.inf @@ -24,11 +24,12 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# VALID_ARCHITECTURES = IA32 X64 IPF EBC ARM # [Sources] - PlatformPei.c + PlatformPeim.c + PlatformPeiLib.c [Packages] MdePkg/MdePkg.dec @@ -57,6 +58,6 @@ gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize -[depex] +[Depex] TRUE -- 2.39.2