X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FCore%2FDxeIplPeim%2FDxeIpl.inf;h=3f17028546609378c1cf8066247b652fe34ec4fa;hb=HEAD;hp=ab2dc6b2249bf6c5a024dec23a44b7bc6d30191f;hpb=eb27b6b207049455ce16bccd0784cc886c449d61;p=mirror_edk2.git
diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
index ab2dc6b224..052ea0ec1a 100644
--- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
+++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
@@ -1,108 +1,149 @@
-#/** @file
-# Component description file for DxeIpl module
+## @file
+# Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume.
#
-# The responsibility of this module is to load the DXE Core from a Firmware Volume. This implementation i used to load a 32-bit DXE Core.
-# Copyright (c) 2006 - 2007, Intel Corporation
+# 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.
#
-# 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
- 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 EBC
+# 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.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]
- X64/DxeLoadFunc.c
- Ia32/ImageRead.c
+ Ebc/DxeLoadFunc.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
- IntelFrameworkPkg/IntelFrameworkPkg.dec
+
+[Packages.ARM, Packages.AARCH64]
+ ArmPkg/ArmPkg.dec
[LibraryClasses]
- PeCoffLib
PcdLib
MemoryAllocationLib
BaseMemoryLib
- PeiServicesTablePointerLib
- CustomDecompressLib
+ ExtractGuidedSectionLib
UefiDecompressLib
- PeCoffLoaderLib
- CacheMaintenanceLib
ReportStatusCodeLib
PeiServicesLib
HobLib
BaseLib
PeimEntryPoint
DebugLib
- S3Lib
- RecoveryLib
-
-[Protocols]
- gEfiCustomizedDecompressProtocolGuid # PROTOCOL SOMETIMES_PRODUCED
- gEfiTianoDecompressProtocolGuid # PROTOCOL SOMETIMES_PRODUCED
- gEfiDecompressProtocolGuid # PROTOCOL SOMETIMES_PRODUCED
+ DebugAgentLib
+ PeiServicesTablePointerLib
+ PerformanceLib
+[LibraryClasses.ARM, LibraryClasses.AARCH64]
+ ArmMmuLib
[Ppis]
- gEfiPeiSecurityPpiGuid # PPI SOMETIMES_CONSUMED
- gEfiPeiSectionExtractionPpiGuid # PPI SOMETIMES_CONSUMED
- gEfiEndOfPeiSignalPpiGuid # PPI SOMETIMES_PRODUCED
- gEfiDxeIplPpiGuid # PPI SOMETIMES_PRODUCED
- gEfiPeiPeCoffLoaderGuid
- gEfiPeiDecompressPpiGuid
- gEfiPeiFirmwareVolumeInfoPpiGuid
-
-[FeaturePcd.common]
- gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportCustomDecompress
- gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportTianoDecompress
- gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportEfiDecompress
- gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildShareCodeHobs
+ 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.PcdDxeIplSwitchToLongMode
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
+
+[FeaturePcd.X64]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES
+[FeaturePcd]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES
+
+[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