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 - 2015, 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.asm||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode 44 Ia32/IdtVectorAsm.S ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode 45 46 [Sources.X64] 47 X64/VirtualMemory.h 48 X64/VirtualMemory.c 49 X64/DxeLoadFunc.c 50 51 [Sources.IPF] 52 Ipf/DxeLoadFunc.c 53 54 [Sources.EBC] 55 Ebc/DxeLoadFunc.c 56 57 [Sources.ARM, Sources.AARCH64] 58 Arm/DxeLoadFunc.c 59 60 [Packages] 61 MdePkg/MdePkg.dec 62 MdeModulePkg/MdeModulePkg.dec 63 64 [Packages.ARM, Packages.AARCH64] 65 ArmPkg/ArmPkg.dec 66 67 [LibraryClasses] 68 PcdLib 69 MemoryAllocationLib 70 BaseMemoryLib 71 ExtractGuidedSectionLib 72 UefiDecompressLib 73 ReportStatusCodeLib 74 PeiServicesLib 75 HobLib 76 BaseLib 77 PeimEntryPoint 78 DebugLib 79 DebugAgentLib 80 PeiServicesTablePointerLib 81 82 [LibraryClasses.ARM, LibraryClasses.AARCH64] 83 ArmLib 84 85 [Ppis] 86 gEfiDxeIplPpiGuid ## PRODUCES 87 gEfiPeiDecompressPpiGuid ## PRODUCES 88 gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES # Not produced on S3 boot path 89 gEfiPeiReadOnlyVariable2PpiGuid ## SOMETIMES_CONSUMES 90 gEfiPeiLoadFilePpiGuid ## SOMETIMES_CONSUMES 91 gEfiPeiS3Resume2PpiGuid ## SOMETIMES_CONSUMES # Consumed on S3 boot path 92 gEfiPeiRecoveryModulePpiGuid ## SOMETIMES_CONSUMES # Consumed on recovery boot path 93 ## SOMETIMES_CONSUMES 94 ## UNDEFINED # HOB 95 gEfiVectorHandoffInfoPpiGuid 96 97 [Guids] 98 ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation" 99 ## SOMETIMES_PRODUCES ## HOB 100 gEfiMemoryTypeInformationGuid 101 102 [FeaturePcd.IA32] 103 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES 104 105 [FeaturePcd.X64] 106 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES 107 108 [FeaturePcd] 109 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES 110 111 [Pcd.IA32,Pcd.X64] 112 gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES 113 114 [Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64] 115 gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## SOMETIMES_CONSUMES 116 117 [Depex] 118 gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid 119 120 # 121 # [BootMode] 122 # S3_RESUME ## SOMETIMES_CONSUMES 123 # RECOVERY_FULL ## SOMETIMES_CONSUMES 124 # 125 # 126 # [Hob] 127 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_MODULE for DxeCore 128 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # New Stack HoB 129 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # Old Stack HOB 130 # 131 # [Hob.IPF] 132 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_BSP_STORE 133 # 134 135 [UserExtensions.TianoCore."ExtraFiles"] 136 DxeIplExtra.uni 137