X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FCore%2FDxeIplPeim%2FDxeIpl.inf;h=052ea0ec1a6f27713fa584c16eae0da81b6ea26d;hp=d3b57e84c9ee9869d0534eb150be090676f83eec;hb=HEAD;hpb=48557c6550adecf39e1e8e140b1736275d070dfb diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf index d3b57e84c9..052ea0ec1a 100644 --- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf +++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf @@ -1,24 +1,23 @@ -#/** @file +## @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 - 2008, Intel Corporation.
-# 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. -# -#**/ +# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
+# Copyright (c) 2017, AMD Incorporated. All rights reserved.
+# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## [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 @@ -28,72 +27,123 @@ # # 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) +# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) AARCH64 RISCV64 LOONGARCH64 # -[Sources.common] +[Sources] DxeIpl.h DxeLoad.c [Sources.Ia32] - Ia32/VirtualMemory.h - Ia32/VirtualMemory.c + X64/VirtualMemory.h + X64/VirtualMemory.c Ia32/DxeLoadFunc.c - Ia32/ImageRead.c - Ia32/IdtVectorAsm.asm - Ia32/IdtVectorAsm.S | GCC + Ia32/IdtVectorAsm.nasm [Sources.X64] X64/VirtualMemory.h X64/VirtualMemory.c X64/DxeLoadFunc.c - Ia32/ImageRead.c - -[Sources.IPF] - Ipf/DxeLoadFunc.c - Ipf/ImageRead.c [Sources.EBC] Ebc/DxeLoadFunc.c - Ia32/ImageRead.c + +[Sources.ARM, Sources.AARCH64] + Arm/DxeLoadFunc.c + +[Sources.RISCV64] + RiscV64/DxeLoadFunc.c + +[Sources.LOONGARCH64] + LoongArch64/DxeLoadFunc.c [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec +[Packages.ARM, Packages.AARCH64] + ArmPkg/ArmPkg.dec + [LibraryClasses] - PeCoffLib PcdLib MemoryAllocationLib BaseMemoryLib ExtractGuidedSectionLib UefiDecompressLib - CacheMaintenanceLib ReportStatusCodeLib PeiServicesLib HobLib BaseLib PeimEntryPoint DebugLib - S3Lib - RecoveryLib + DebugAgentLib + PeiServicesTablePointerLib + PerformanceLib + +[LibraryClasses.ARM, LibraryClasses.AARCH64] + ArmMmuLib [Ppis] - gEfiEndOfPeiSignalPpiGuid # PPI SOMETIMES_PRODUCED - gEfiDxeIplPpiGuid # PPI SOMETIMES_PRODUCED - gEfiPeiDecompressPpiGuid # PPI SOMETIMES_PRODUCED - gEfiPeiReadOnlyVariable2PpiGuid # PPI SOMETIMES_CONSUMED + 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 + gEdkiiPeiBootInCapsuleOnDiskModePpiGuid ## SOMETIMES_CONSUMES + gEdkiiPeiCapsuleOnDiskPpiGuid ## SOMETIMES_CONSUMES # Consumed on firmware update boot path [Guids] + ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation" + ## SOMETIMES_PRODUCES ## HOB gEfiMemoryTypeInformationGuid [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 + gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdUse5LevelPageTable ## SOMETIMES_CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize ## CONSUMES + +[Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64] + gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## SOMETIMES_CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy ## SOMETIMES_CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy ## 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