X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FCore%2FDxeIplPeim%2FDxeIpl.inf;h=d62bd9b59b63fa164ba6da5729ba011926219c64;hb=5997daf7426e8eca4432e82e62f81dda34d261a4;hp=0e7f382a5c129abf007a0bd5bd57020c0136df8a;hpb=b98da1b1f9b726f580d05f8680455122ba924da6;p=mirror_edk2.git diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf index 0e7f382a5c..d62bd9b59b 100644 --- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf +++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf @@ -1,103 +1,141 @@ -#/** @file -# -# Component description file for DxeIpl module -# -# The responsibility of this module is to load the DXE Core from a Firmware Volume. -# This implementation is used to load a 32-bit DXE Core. -# -# Copyright (c) 2006 - 2008, Intel Corporation.
-# All rights reserved. This program and the accompanying materials +## @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 - 2016, 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 - EDK_RELEASE_VERSION = 0x00020000 - EFI_SPECIFICATION_VERSION = 0x00020000 ENTRY_POINT = PeimInitializeDxeIpl # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 IPF +# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is for build only) AARCH64 # -[Sources.common] +[Sources] DxeIpl.h DxeLoad.c [Sources.Ia32] - Ia32/VirtualMemory.h - Ia32/VirtualMemory.c + X64/VirtualMemory.h ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode + X64/VirtualMemory.c ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode Ia32/DxeLoadFunc.c - Ia32/ImageRead.c - Ia32/IdtVectorAsm.asm - Ia32/IdtVectorAsm.S | GCC + Ia32/IdtVectorAsm.nasm||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode + Ia32/IdtVectorAsm.asm||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode + Ia32/IdtVectorAsm.S ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode [Sources.X64] - X64/DxeLoadFunc.c - Ia32/ImageRead.c + X64/VirtualMemory.h + X64/VirtualMemory.c + X64/DxeLoadFunc.c [Sources.IPF] Ipf/DxeLoadFunc.c - Ipf/ImageRead.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] - PeCoffLib PcdLib MemoryAllocationLib BaseMemoryLib - PeiServicesTablePointerLib ExtractGuidedSectionLib UefiDecompressLib - CacheMaintenanceLib ReportStatusCodeLib PeiServicesLib HobLib BaseLib PeimEntryPoint DebugLib - S3Lib - RecoveryLib - PerformanceLib + DebugAgentLib + PeiServicesTablePointerLib + +[LibraryClasses.ARM, LibraryClasses.AARCH64] + ArmMmuLib [Ppis] - gEfiEndOfPeiSignalPpiGuid # PPI SOMETIMES_PRODUCED - gEfiDxeIplPpiGuid # PPI SOMETIMES_PRODUCED - gEfiPeiDecompressPpiGuid - gEfiPeiReadOnlyVariable2PpiGuid + 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.common] - gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportCustomDecompress - gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportTianoDecompress - gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportEfiDecompress - gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildShareCodeHobs - [FeaturePcd.IA32] - gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplEnableIdt - gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode + gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES + +[FeaturePcd.X64] + gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES + +[FeaturePcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES -[FixedPcd.common] - gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeiHandoffToDxe +[Pcd.IA32,Pcd.X64] + gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES + +[Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64] + gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## SOMETIMES_CONSUMES [Depex] - gEfiPeiMemoryDiscoveredPpiGuid + 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