mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-08 14:24:24 +02:00
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4496 This change adds the implementation that fits the needs and description of PI spec defined Delayed Dispatch PPI in Pei Core. The PPI would allow minimal delay for registered callbacks. As well as allowing other functions to wait for GUIDed delayed dispatch callbacks. Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Debkumar De <debkumar.de@intel.com> Cc: Catharine West <catharine.west@intel.com> Co-authored-by: Mike Turner <mikeyt@pobox.com> Co-authored-by: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Kun Qin <kuqin12@gmail.com>
141 lines
5.3 KiB
INI
141 lines
5.3 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 - 2024, Intel Corporation. All rights reserved.<BR>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = PeiCore
|
|
MODULE_UNI_FILE = PeiCore.uni
|
|
FILE_GUID = 52C05B14-0B98-496c-BC3B-04B50211D680
|
|
MODULE_TYPE = PEI_CORE
|
|
VERSION_STRING = 1.0
|
|
ENTRY_POINT = PeiCore
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only)
|
|
#
|
|
|
|
[Sources]
|
|
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
|
|
CpuIo/CpuIo.c
|
|
PciCfg2/PciCfg2.c
|
|
PeiMain.h
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
|
|
[LibraryClasses]
|
|
BaseMemoryLib
|
|
PeCoffGetEntryPointLib
|
|
ReportStatusCodeLib
|
|
PeiServicesLib
|
|
PerformanceLib
|
|
HobLib
|
|
BaseLib
|
|
PeiCoreEntryPoint
|
|
DebugLib
|
|
MemoryAllocationLib
|
|
CacheMaintenanceLib
|
|
PeCoffLib
|
|
PeiServicesTablePointerLib
|
|
PcdLib
|
|
TimerLib
|
|
SafeIntLib
|
|
|
|
[Guids]
|
|
gPeiAprioriFileNameGuid ## SOMETIMES_CONSUMES ## File
|
|
## PRODUCES ## UNDEFINED # Install PPI
|
|
## CONSUMES ## UNDEFINED # Locate PPI
|
|
gEfiFirmwareFileSystem2Guid
|
|
## PRODUCES ## UNDEFINED # Install PPI
|
|
## CONSUMES ## UNDEFINED # Locate PPI
|
|
## CONSUMES ## GUID # Used to compare with FV's file system GUID and get the FV's file system format
|
|
gEfiFirmwareFileSystem3Guid
|
|
gStatusCodeCallbackGuid
|
|
gEdkiiMigratedFvInfoGuid ## SOMETIMES_PRODUCES ## HOB
|
|
gEdkiiMigrationInfoGuid ## SOMETIMES_CONSUMES ## HOB
|
|
gEfiDelayedDispatchTableGuid ## SOMETIMES_PRODUCES ## HOB
|
|
|
|
[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 ## SOMETIMES_CONSUMES
|
|
## NOTIFY
|
|
## SOMETIMES_PRODUCES # Produce FvInfoPpi if the encapsulated FvImage is found
|
|
gEfiPeiFirmwareVolumeInfoPpiGuid
|
|
## NOTIFY
|
|
## SOMETIMES_PRODUCES # Produce FvInfoPpi2 if the encapsulated FvImage is found
|
|
gEfiPeiFirmwareVolumeInfo2PpiGuid
|
|
## PRODUCES
|
|
## CONSUMES
|
|
gEfiPeiLoadFilePpiGuid
|
|
gEfiPeiSecurity2PpiGuid ## NOTIFY
|
|
gEfiTemporaryRamSupportPpiGuid ## SOMETIMES_CONSUMES
|
|
gEfiTemporaryRamDonePpiGuid ## SOMETIMES_CONSUMES
|
|
gEfiPeiReset2PpiGuid ## SOMETIMES_CONSUMES
|
|
gEfiSecHobDataPpiGuid ## SOMETIMES_CONSUMES
|
|
gEfiPeiCoreFvLocationPpiGuid ## SOMETIMES_CONSUMES
|
|
gEdkiiPeiMigrateTempRamPpiGuid ## PRODUCES
|
|
gEfiPeiDelayedDispatchPpiGuid ## PRODUCES
|
|
gEfiEndOfPeiSignalPpiGuid ## CONSUMES
|
|
|
|
[Pcd]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumber ## SOMETIMES_CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNumber ## SOMETIMES_CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNumber ## SOMETIMES_CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnBoot ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTempStack ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMigrateTemporaryRamFirmwareVolumes ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDelayedDispatchMaxDelayUs ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDelayedDispatchCompletionTimeoutUs ## CONSUMES
|
|
|
|
# [BootMode]
|
|
# S3_RESUME ## SOMETIMES_CONSUMES
|
|
|
|
# [Hob]
|
|
# PHIT ## PRODUCES
|
|
# RESOURCE_DESCRIPTOR ## SOMETIMES_PRODUCES
|
|
# RESOURCE_DESCRIPTOR ## SOMETIMES_CONSUMES
|
|
# MEMORY_ALLOCATION ## SOMETIMES_CONSUMES
|
|
# FIRMWARE_VOLUME ## SOMETIMES_PRODUCES
|
|
# FIRMWARE_VOLUME ## SOMETIMES_CONSUMES
|
|
# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES
|
|
# MEMORY_ALLOCATION ## PRODUCES # MEMORY_ALLOCATION_STACK
|
|
# UNDEFINED ## PRODUCES # MEMORY_POOL
|
|
|
|
[UserExtensions.TianoCore."ExtraFiles"]
|
|
PeiCoreExtra.uni
|