## @file | |
# Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume. | |
# | |
# This module produces a special PPI named the DXE Initial Program Load (IPL) | |
# PPI to discover and dispatch the DXE Foundation and components that are | |
# needed to run the DXE Foundation. | |
# | |
# Copyright (c) 2013 Intel Corporation. | |
# | |
# Redistribution and use in source and binary forms, with or without | |
# modification, are permitted provided that the following conditions | |
# are met: | |
# | |
# * Redistributions of source code must retain the above copyright | |
# notice, this list of conditions and the following disclaimer. | |
# * Redistributions in binary form must reproduce the above copyright | |
# notice, this list of conditions and the following disclaimer in | |
# the documentation and/or other materials provided with the | |
# distribution. | |
# * Neither the name of Intel Corporation nor the names of its | |
# contributors may be used to endorse or promote products derived | |
# from this software without specific prior written permission. | |
# | |
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
# | |
## | |
[Defines] | |
INF_VERSION = 0x00010005 | |
BASE_NAME = DxeIpl | |
FILE_GUID = 86D70125-BAA3-4296-A62F-602BEBBB9081 | |
MODULE_TYPE = PEIM | |
VERSION_STRING = 1.0 | |
ENTRY_POINT = PeimInitializeDxeIpl | |
# | |
# 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] | |
../../../../../MdeModulePkg/Core/DxeIplPeim/DxeIpl.h | |
DxeLoad.c | |
[Sources.Ia32] | |
../../../../../MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.h ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode | |
../../../../../MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode | |
../../../../../MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c | |
../../../../../MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.asm||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode | |
../../../../../MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode | |
[Sources.X64] | |
../../../../../MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.h | |
../../../../../MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c | |
../../../../../MdeModulePkg/Core/DxeIplPeim/X64/DxeLoadFunc.c | |
[Sources.IPF] | |
../../../../../MdeModulePkg/Core/DxeIplPeim/Ipf/DxeLoadFunc.c | |
[Sources.EBC] | |
../../../../../MdeModulePkg/Core/DxeIplPeim/Ebc/DxeLoadFunc.c | |
[Sources.ARM] | |
../../../../../MdeModulePkg/Core/DxeIplPeim/Arm/DxeLoadFunc.c | |
[Packages] | |
MdePkg/MdePkg.dec | |
MdeModulePkg/MdeModulePkg.dec | |
[LibraryClasses] | |
PcdLib | |
MemoryAllocationLib | |
BaseMemoryLib | |
ExtractGuidedSectionLib | |
UefiDecompressLib | |
ReportStatusCodeLib | |
PeiServicesLib | |
HobLib | |
BaseLib | |
PeimEntryPoint | |
DebugLib | |
DebugAgentLib | |
PeiServicesTablePointerLib | |
[Ppis] | |
gEfiDxeIplPpiGuid ## PRODUCES | |
gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES(Not produced on S3 boot path) | |
gEfiPeiDecompressPpiGuid ## SOMETIMES_PRODUCES | |
gEfiPeiReadOnlyVariable2PpiGuid ## SOMETIMES_CONSUMES | |
gEfiPeiLoadFilePpiGuid ## CONSUMES | |
gEfiPeiS3Resume2PpiGuid ## SOMETIMES_CONSUMES(Consumed on S3 boot path) | |
gEfiPeiRecoveryModulePpiGuid ## SOMETIMES_CONSUMES(Consumed on recovery boot path) | |
[Guids] | |
gEfiMemoryTypeInformationGuid ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation" | |
gEfiMemoryTypeInformationGuid ## SOMETIMES_PRODUCES ## HOB | |
[FeaturePcd.IA32] | |
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode | |
[FeaturePcd.X64] | |
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables | |
[FeaturePcd] | |
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress | |
[Pcd.IA32,Pcd.X64] | |
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable | |
[Depex] | |
gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid | |
# | |
# [BootMode] | |
# S3_RESUME ## SOMETIMES_CONSUMES | |
# RECOVERY ## SOMETIMES_CONSUMES | |
# | |
# | |
# [Hob] | |
# ## | |
# # New Stack HoB | |
# MEMORY_ALLOCATION ## PRODUCES | |
# ## | |
# # Old Stack HOB | |
# MEMORY_ALLOCATION ## CONSUMES | |
# | |
# [Hob.IPF] | |
# ## | |
# # BSP Stack HOB for IPF | |
# MEMORY_ALLOCATION ## PRODUCES | |
# | |
# |