1, Implement EFI_PEI_FIRMWARE_VOLUME_PPI for FFS2 format as build-in supporting FV format in PeiCore. 2, Reduce the assumption of memory-mapped FV in PeiCore. PeiCore should access FV via EFI_PEI_FIRMWARE_VOLUME_PPI interface but not cast FvHandle/FileHandle to EFI_FIRMWARE_VOLUME_HEADER/EFI_FV_FILE_HEADER directly. 3, Reduce AllFv[] and AllFvCount in PEI_CORE_INSTANCE structure. Original PEI_CORE_INSTANCE use AllFv[] and Fv[] array to manage discovered FV and dispatched FV. But not need to make thing too complex. Now PEI_CORE_FV_HANDLE array of Fv[] will take responsibility to manage all FV instance and status. 4, Fix the bug use PeiDispatcher use wrong index for PeiFfsFindNextVolume(), 5, Fix the bug in PeiFfsFindNextVolume(), if instance is not found, *VolumeHandle should be set to NULL but not VolumeHandle was set to NULL. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9407 6f19259b-4bc3-4df7-8a09-765794883524
99 lines
3.6 KiB
INI
99 lines
3.6 KiB
INI
#/** @file
|
|
# PeiMain module is core module in PEI phase. It takes responsibilities of:
|
|
# 1) Initialize memory, PPI, image services etc, to establish PEIM runtime environment.
|
|
# 2) Dispatch PEIM from discovered FV.
|
|
# 3) Handoff control to DxeIpl to load DXE core and enter DXE phase.
|
|
#
|
|
# Copyright (c) 2006 - 2009, Intel Corporation
|
|
#
|
|
# 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 = PeiCore
|
|
FILE_GUID = 52C05B14-0B98-496c-BC3B-04B50211D680
|
|
MODULE_TYPE = PEI_CORE
|
|
VERSION_STRING = 1.0
|
|
PI_SPECIFICATION_VERSION = 0x00010000
|
|
|
|
ENTRY_POINT = PeiCore
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is for build only)
|
|
#
|
|
|
|
[Sources.common]
|
|
StatusCode/StatusCode.c
|
|
Security/Security.c
|
|
Reset/Reset.c
|
|
Ppi/Ppi.c
|
|
PeiMain/PeiMain.c
|
|
Memory/MemoryServices.c
|
|
Image/Image.c
|
|
Hob/Hob.c
|
|
FwVol/FwVol.c
|
|
FwVol/FwVol.h
|
|
Dispatcher/Dispatcher.c
|
|
Dependency/Dependency.c
|
|
Dependency/Dependency.h
|
|
BootMode/BootMode.c
|
|
PeiMain.h
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
|
|
[LibraryClasses]
|
|
TimerLib
|
|
BaseMemoryLib
|
|
PeCoffGetEntryPointLib
|
|
ReportStatusCodeLib
|
|
PeiServicesLib
|
|
PerformanceLib
|
|
HobLib
|
|
BaseLib
|
|
PeiCoreEntryPoint
|
|
DebugLib
|
|
MemoryAllocationLib
|
|
CacheMaintenanceLib
|
|
PeCoffLib
|
|
PeiServicesTablePointerLib
|
|
|
|
|
|
[Guids]
|
|
gPeiAprioriFileNameGuid ## CONSUMES ## GUID
|
|
gEfiFirmwareFileSystem2Guid ## CONSUMES ## FV
|
|
|
|
[Ppis]
|
|
gEfiPeiStatusCodePpiGuid ## SOMETIMES_CONSUMES (PeiReportStatusService is not ready if this PPI doesn't exist)
|
|
gEfiPeiResetPpiGuid ## SOMETIMES_CONSUMES (PeiResetService is not ready if this PPI doesn't exist)
|
|
gEfiDxeIplPpiGuid ## CONSUMES
|
|
gEfiPeiMemoryDiscoveredPpiGuid ## PRODUCES
|
|
gEfiPeiDecompressPpiGuid ## CONSUMES
|
|
gEfiPeiFirmwareVolumeInfoPpiGuid ## NOTIFY ## SOMETIMES_PRODUCES (Produce FvInfoPpi if the encapsulated FvImage is found)
|
|
gEfiPeiLoadFilePpiGuid ## PRODUCES ## SOMETIMES_CONSUMES (The default load PeImage logic will be used when this PPI doesn't exist)
|
|
gEfiPeiSecurity2PpiGuid ## NOTIFY
|
|
gEfiTemporaryRamSupportPpiGuid ## CONSUMES
|
|
|
|
[FixedPcd.common]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPpiSupported ## CONSUMES
|
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeimDispatch ## CONSUMES
|
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeiCoreEntry ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize ## CONSUMES
|
|
|
|
[FeaturePcd.common]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES
|
|
|