1## @file 2# Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume. 3# 4# This module produces a special PPI named the DXE Initial Program Load (IPL) 5# PPI to discover and dispatch the DXE Foundation and components that are 6# needed to run the DXE Foundation. 7# 8# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> 9# This program and the accompanying materials 10# are licensed and made available under the terms and conditions of the BSD License 11# which accompanies this distribution. The full text of the license may be found at 12# http://opensource.org/licenses/bsd-license.php 13# 14# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 15# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 16# 17## 18 19[Defines] 20 INF_VERSION = 0x00010005 21 BASE_NAME = DxeIpl 22 MODULE_UNI_FILE = DxeIpl.uni 23 FILE_GUID = 86D70125-BAA3-4296-A62F-602BEBBB9081 24 MODULE_TYPE = PEIM 25 VERSION_STRING = 1.0 26 27 ENTRY_POINT = PeimInitializeDxeIpl 28 29# 30# The following information is for reference only and not required by the build tools. 31# 32# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is for build only) AARCH64 33# 34 35[Sources] 36 DxeIpl.h 37 DxeLoad.c 38 39[Sources.Ia32] 40 X64/VirtualMemory.h ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode 41 X64/VirtualMemory.c ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode 42 Ia32/DxeLoadFunc.c 43 Ia32/IdtVectorAsm.nasm||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode 44 Ia32/IdtVectorAsm.asm||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode 45 Ia32/IdtVectorAsm.S ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode 46 47[Sources.X64] 48 X64/VirtualMemory.h 49 X64/VirtualMemory.c 50 X64/DxeLoadFunc.c 51 52[Sources.IPF] 53 Ipf/DxeLoadFunc.c 54 55[Sources.EBC] 56 Ebc/DxeLoadFunc.c 57 58[Sources.ARM, Sources.AARCH64] 59 Arm/DxeLoadFunc.c 60 61[Packages] 62 MdePkg/MdePkg.dec 63 MdeModulePkg/MdeModulePkg.dec 64 65[Packages.ARM, Packages.AARCH64] 66 ArmPkg/ArmPkg.dec 67 68[LibraryClasses] 69 PcdLib 70 MemoryAllocationLib 71 BaseMemoryLib 72 ExtractGuidedSectionLib 73 UefiDecompressLib 74 ReportStatusCodeLib 75 PeiServicesLib 76 HobLib 77 BaseLib 78 PeimEntryPoint 79 DebugLib 80 DebugAgentLib 81 PeiServicesTablePointerLib 82 83[LibraryClasses.ARM, LibraryClasses.AARCH64] 84 ArmMmuLib 85 86[Ppis] 87 gEfiDxeIplPpiGuid ## PRODUCES 88 gEfiPeiDecompressPpiGuid ## PRODUCES 89 gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES # Not produced on S3 boot path 90 gEfiPeiReadOnlyVariable2PpiGuid ## SOMETIMES_CONSUMES 91 gEfiPeiLoadFilePpiGuid ## SOMETIMES_CONSUMES 92 gEfiPeiS3Resume2PpiGuid ## SOMETIMES_CONSUMES # Consumed on S3 boot path 93 gEfiPeiRecoveryModulePpiGuid ## SOMETIMES_CONSUMES # Consumed on recovery boot path 94 ## SOMETIMES_CONSUMES 95 ## UNDEFINED # HOB 96 gEfiVectorHandoffInfoPpiGuid 97 gEfiPeiMemoryDiscoveredPpiGuid ## SOMETIMES_CONSUMES 98 99[Guids] 100 ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation" 101 ## SOMETIMES_PRODUCES ## HOB 102 gEfiMemoryTypeInformationGuid 103 104[FeaturePcd.IA32] 105 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES 106 107[FeaturePcd.X64] 108 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES 109 110[FeaturePcd] 111 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES 112 113[Pcd.IA32,Pcd.X64] 114 gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES 115 116[Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64] 117 gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## SOMETIMES_CONSUMES 118 119[Depex] 120 gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid 121 122# 123# [BootMode] 124# S3_RESUME ## SOMETIMES_CONSUMES 125# RECOVERY_FULL ## SOMETIMES_CONSUMES 126# 127# 128# [Hob] 129# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_MODULE for DxeCore 130# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # New Stack HoB 131# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # Old Stack HOB 132# 133# [Hob.IPF] 134# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_BSP_STORE 135# 136 137[UserExtensions.TianoCore."ExtraFiles"] 138 DxeIplExtra.uni 139