From bb89ec1a7ec2f8d35033df9e47b3604925da3bd3 Mon Sep 17 00:00:00 2001 From: jljusten Date: Tue, 28 Jun 2011 16:47:23 +0000 Subject: InOsEmuPkg: Rename package to EmulatorPkg & Sec to Host * Rename InOsEmuPkg to EmulatorPkg * Rename Unix/Sec to Unix/Host Signed-off-by: jljusten Reviewed-by: andrewfish Reviewed-by: geekboy15a git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11918 6f19259b-4bc3-4df7-8a09-765794883524 --- EmulatorPkg/FlashMapPei/FlashMapPei.c | 83 +++++++++++++++++++++++++++++++++ EmulatorPkg/FlashMapPei/FlashMapPei.inf | 68 +++++++++++++++++++++++++++ 2 files changed, 151 insertions(+) create mode 100644 EmulatorPkg/FlashMapPei/FlashMapPei.c create mode 100644 EmulatorPkg/FlashMapPei/FlashMapPei.inf (limited to 'EmulatorPkg/FlashMapPei') diff --git a/EmulatorPkg/FlashMapPei/FlashMapPei.c b/EmulatorPkg/FlashMapPei/FlashMapPei.c new file mode 100644 index 0000000000..94c1874193 --- /dev/null +++ b/EmulatorPkg/FlashMapPei/FlashMapPei.c @@ -0,0 +1,83 @@ +/*++ @file + PEIM to build GUIDed HOBs for platform specific flash map + +Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+Portions copyright (c) 2011, Apple Inc. 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 "PiPei.h" + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +EFI_STATUS +EFIAPI +PeimInitializeFlashMap ( + IN EFI_PEI_FILE_HANDLE FileHandle, + IN CONST EFI_PEI_SERVICES **PeiServices + ) +/*++ + +Routine Description: + Build GUIDed HOBs for platform specific flash map + +Arguments: + FfsHeader - A pointer to the EFI_FFS_FILE_HEADER structure. + PeiServices - General purpose services available to every PEIM. + +Returns: + EFI_STATUS + +**/ +{ + EFI_STATUS Status; + EMU_THUNK_PPI *Thunk; + EFI_PEI_PPI_DESCRIPTOR *PpiDescriptor; + EFI_PHYSICAL_ADDRESS FdBase; + EFI_PHYSICAL_ADDRESS FdFixUp; + UINT64 FdSize; + + DEBUG ((EFI_D_ERROR, "EmulatorPkg Flash Map PEIM Loaded\n")); + + // + // Get the Fwh Information PPI + // + Status = PeiServicesLocatePpi ( + &gEmuThunkPpiGuid, // GUID + 0, // INSTANCE + &PpiDescriptor, // EFI_PEI_PPI_DESCRIPTOR + (VOID **)&Thunk // PPI + ); + ASSERT_EFI_ERROR (Status); + + // + // Assume that FD0 contains the Flash map. + // + Status = Thunk->FirmwareDevices (0, &FdBase, &FdSize, &FdFixUp); + if (EFI_ERROR (Status)) { + return Status; + } + + PcdSet64 (PcdFlashNvStorageVariableBase64, PcdGet64 (PcdEmuFlashNvStorageVariableBase) + FdFixUp); + PcdSet64 (PcdFlashNvStorageFtwWorkingBase64, PcdGet64 (PcdEmuFlashNvStorageFtwWorkingBase) + FdFixUp); + PcdSet64 (PcdFlashNvStorageFtwSpareBase64, PcdGet64 (PcdEmuFlashNvStorageFtwSpareBase) + FdFixUp); + + return EFI_SUCCESS; +} diff --git a/EmulatorPkg/FlashMapPei/FlashMapPei.inf b/EmulatorPkg/FlashMapPei/FlashMapPei.inf new file mode 100644 index 0000000000..15a872a264 --- /dev/null +++ b/EmulatorPkg/FlashMapPei/FlashMapPei.inf @@ -0,0 +1,68 @@ +## @file +# Component description file for FlashMap PEI module +# +# This module installs FlashMap PPI which is used to get flash layout information. +# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+# Portions copyright (c) 2011, Apple Inc. 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 = FlashMapPei + FILE_GUID = C9FAF091-57F8-A64C-A07A-445B124F0D93 + MODULE_TYPE = PEIM + VERSION_STRING = 1.0 + + ENTRY_POINT = PeimInitializeFlashMap + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +[Sources] + FlashMapPei.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + EmulatorPkg/EmulatorPkg.dec + +[LibraryClasses] + PcdLib + BaseMemoryLib + PeiServicesTablePointerLib + PeiServicesLib + HobLib + PeimEntryPoint + DebugLib + + +[Ppis] + gEmuThunkPpiGuid # PPI ALWAYS_CONSUMED + +[Pcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 + + gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageFtwWorkingBase + gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageFtwSpareBase + gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageVariableBase + +[Depex] + gEmuThunkPpiGuid + -- cgit v1.2.3