## @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) 2006 - 2017, Intel Corporation. All rights reserved.
# Copyright (c) 2017, AMD Incorporated. 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 = DxeIpl MODULE_UNI_FILE = DxeIpl.uni 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) AARCH64 # [Sources] DxeIpl.h DxeLoad.c [Sources.Ia32] X64/VirtualMemory.h X64/VirtualMemory.c Ia32/DxeLoadFunc.c Ia32/IdtVectorAsm.nasm Ia32/IdtVectorAsm.asm Ia32/IdtVectorAsm.S [Sources.X64] X64/VirtualMemory.h X64/VirtualMemory.c X64/DxeLoadFunc.c [Sources.IPF] Ipf/DxeLoadFunc.c [Sources.EBC] Ebc/DxeLoadFunc.c [Sources.ARM, Sources.AARCH64] Arm/DxeLoadFunc.c [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec [Packages.ARM, Packages.AARCH64] ArmPkg/ArmPkg.dec [LibraryClasses] PcdLib MemoryAllocationLib BaseMemoryLib ExtractGuidedSectionLib UefiDecompressLib ReportStatusCodeLib PeiServicesLib HobLib BaseLib PeimEntryPoint DebugLib DebugAgentLib PeiServicesTablePointerLib [LibraryClasses.ARM, LibraryClasses.AARCH64] ArmMmuLib [Ppis] gEfiDxeIplPpiGuid ## PRODUCES gEfiPeiDecompressPpiGuid ## PRODUCES gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES # Not produced on S3 boot path gEfiPeiReadOnlyVariable2PpiGuid ## SOMETIMES_CONSUMES gEfiPeiLoadFilePpiGuid ## SOMETIMES_CONSUMES gEfiPeiS3Resume2PpiGuid ## SOMETIMES_CONSUMES # Consumed on S3 boot path gEfiPeiRecoveryModulePpiGuid ## SOMETIMES_CONSUMES # Consumed on recovery boot path ## SOMETIMES_CONSUMES ## UNDEFINED # HOB gEfiVectorHandoffInfoPpiGuid gEfiPeiMemoryDiscoveredPpiGuid ## SOMETIMES_CONSUMES [Guids] ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation" ## SOMETIMES_PRODUCES ## HOB gEfiMemoryTypeInformationGuid [FeaturePcd.IA32] gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES [FeaturePcd.X64] gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES [FeaturePcd] gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES [Pcd.IA32,Pcd.X64] gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES [Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64] gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## SOMETIMES_CONSUMES [Depex] gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid # # [BootMode] # S3_RESUME ## SOMETIMES_CONSUMES # RECOVERY_FULL ## SOMETIMES_CONSUMES # # # [Hob] # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_MODULE for DxeCore # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # New Stack HoB # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # Old Stack HOB # # [Hob.IPF] # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_BSP_STORE # [UserExtensions.TianoCore."ExtraFiles"] DxeIplExtra.uni