]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / DxeIpl.inf
index 96e578f0d08d118666ae795cfbb3168ad60c4418..052ea0ec1a6f27713fa584c16eae0da81b6ea26d 100644 (file)
-#/** @file\r
-# Component description file for DxeIpl module\r
+## @file\r
+#  Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume.\r
 #\r
-# 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.\r
-# Copyright (c) 2006 - 2007, Intel Corporation\r
+#  This module produces a special PPI named the DXE Initial Program Load (IPL)\r
+#  PPI to discover and dispatch the DXE Foundation and components that are\r
+#  needed to run the DXE Foundation.\r
 #\r
-#  All rights reserved. This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution. The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#  Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>\r
+#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>\r
+#  Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>\r
 #\r
+#  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 #\r
-#**/\r
+##\r
 \r
-################################################################################\r
-#\r
-# Defines Section - statements that will be processed to create a Makefile.\r
-#\r
-################################################################################\r
 [Defines]\r
   INF_VERSION                    = 0x00010005\r
   BASE_NAME                      = DxeIpl\r
+  MODULE_UNI_FILE                = DxeIpl.uni\r
   FILE_GUID                      = 86D70125-BAA3-4296-A62F-602BEBBB9081\r
   MODULE_TYPE                    = PEIM\r
   VERSION_STRING                 = 1.0\r
-  EDK_RELEASE_VERSION            = 0x00020000\r
-  EFI_SPECIFICATION_VERSION      = 0x00020000\r
 \r
   ENTRY_POINT                    = PeimInitializeDxeIpl\r
 \r
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
-#\r
-\r
-################################################################################\r
-#\r
-# Sources Section - list of files that are required for the build to succeed.\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC (EBC is for build only) AARCH64 RISCV64 LOONGARCH64\r
 #\r
-################################################################################\r
 \r
-[Sources.common]\r
+[Sources]\r
   DxeIpl.h\r
   DxeLoad.c\r
-  CommonHeader.h\r
 \r
 [Sources.Ia32]\r
-  Ia32/VirtualMemory.h\r
-  Ia32/VirtualMemory.c\r
+  X64/VirtualMemory.h\r
+  X64/VirtualMemory.c\r
   Ia32/DxeLoadFunc.c\r
-  Ia32/ImageRead.c\r
+  Ia32/IdtVectorAsm.nasm\r
 \r
 [Sources.X64]\r
+  X64/VirtualMemory.h\r
+  X64/VirtualMemory.c\r
   X64/DxeLoadFunc.c\r
-  Ia32/ImageRead.c\r
-\r
-[Sources.IPF]\r
-  Ipf/DxeLoadFunc.c\r
-  Ipf/ImageRead.c\r
 \r
 [Sources.EBC]\r
-  X64/DxeLoadFunc.c\r
-  Ia32/ImageRead.c\r
+  Ebc/DxeLoadFunc.c\r
 \r
+[Sources.ARM, Sources.AARCH64]\r
+  Arm/DxeLoadFunc.c\r
 \r
-################################################################################\r
-#\r
-# Package Dependency Section - list of Package files that are required for\r
-#                              this module.\r
-#\r
-################################################################################\r
+[Sources.RISCV64]\r
+  RiscV64/DxeLoadFunc.c\r
+\r
+[Sources.LOONGARCH64]\r
+  LoongArch64/DxeLoadFunc.c\r
 \r
 [Packages]\r
-  MdePkg/MdePkg.dec  \r
-  IntelFrameworkPkg/IntelFrameworkPkg.dec\r
-  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec\r
+  MdePkg/MdePkg.dec\r
+  MdeModulePkg/MdeModulePkg.dec\r
 \r
-\r
-################################################################################\r
-#\r
-# Library Class Section - list of Library Classes that are required for\r
-#                         this module.\r
-#\r
-################################################################################\r
+[Packages.ARM, Packages.AARCH64]\r
+  ArmPkg/ArmPkg.dec\r
 \r
 [LibraryClasses]\r
-  PeCoffLib\r
   PcdLib\r
   MemoryAllocationLib\r
   BaseMemoryLib\r
-  PeiServicesTablePointerLib\r
-  CustomDecompressLib\r
-  TianoDecompressLib\r
+  ExtractGuidedSectionLib\r
   UefiDecompressLib\r
-  EdkPeCoffLoaderLib\r
-  CacheMaintenanceLib\r
   ReportStatusCodeLib\r
   PeiServicesLib\r
   HobLib\r
   BaseLib\r
   PeimEntryPoint\r
   DebugLib\r
+  DebugAgentLib\r
+  PeiServicesTablePointerLib\r
+  PerformanceLib\r
 \r
-\r
-################################################################################\r
-#\r
-# Guid C Name Section - list of Guids that this module uses or produces.\r
-#\r
-################################################################################\r
-\r
-\r
-################################################################################\r
-#\r
-# Protocol C Name Section - list of Protocol and Protocol Notify C Names\r
-#                           that this module uses or produces.\r
-#\r
-################################################################################\r
-\r
-[Protocols]\r
-  gEfiCustomizedDecompressProtocolGuid          # PROTOCOL SOMETIMES_PRODUCED\r
-  gEfiTianoDecompressProtocolGuid               # PROTOCOL SOMETIMES_PRODUCED\r
-  gEfiDecompressProtocolGuid                    # PROTOCOL SOMETIMES_PRODUCED\r
-\r
-\r
-################################################################################\r
-#\r
-# PPI C Name Section - list of PPI and PPI Notify C Names that this module\r
-#                      uses or produces.\r
-#\r
-################################################################################\r
+[LibraryClasses.ARM, LibraryClasses.AARCH64]\r
+  ArmMmuLib\r
 \r
 [Ppis]\r
-  gEfiPeiSecurityPpiGuid                        # PPI SOMETIMES_CONSUMED\r
-  gEfiPeiSectionExtractionPpiGuid               # PPI SOMETIMES_CONSUMED\r
-  gEfiPeiS3ResumePpiGuid                        # PPI SOMETIMES_CONSUMED\r
-  gEfiPeiRecoveryModulePpiGuid                  # PPI SOMETIMES_CONSUMED\r
-  gEfiEndOfPeiSignalPpiGuid                     # PPI SOMETIMES_PRODUCED\r
-  gEfiPeiFvFileLoaderPpiGuid                    # PPI SOMETIMES_PRODUCED\r
-  gEfiDxeIplPpiGuid                             # PPI SOMETIMES_PRODUCED\r
-  gEfiPeiPeCoffLoaderGuid                       \r
+  gEfiDxeIplPpiGuid                      ## PRODUCES\r
+  gEfiPeiDecompressPpiGuid               ## PRODUCES\r
+  gEfiEndOfPeiSignalPpiGuid              ## SOMETIMES_PRODUCES # Not produced on S3 boot path\r
+  gEfiPeiReadOnlyVariable2PpiGuid        ## SOMETIMES_CONSUMES\r
+  gEfiPeiLoadFilePpiGuid                 ## SOMETIMES_CONSUMES\r
+  gEfiPeiS3Resume2PpiGuid                ## SOMETIMES_CONSUMES # Consumed on S3 boot path\r
+  gEfiPeiRecoveryModulePpiGuid           ## SOMETIMES_CONSUMES # Consumed on recovery boot path\r
+  ## SOMETIMES_CONSUMES\r
+  ## UNDEFINED # HOB\r
+  gEfiVectorHandoffInfoPpiGuid\r
+  gEfiPeiMemoryDiscoveredPpiGuid         ## SOMETIMES_CONSUMES\r
+  gEdkiiPeiBootInCapsuleOnDiskModePpiGuid  ## SOMETIMES_CONSUMES\r
+  gEdkiiPeiCapsuleOnDiskPpiGuid            ## SOMETIMES_CONSUMES # Consumed on firmware update boot path\r
+\r
+[Guids]\r
+  ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"\r
+  ## SOMETIMES_PRODUCES ## HOB\r
+  gEfiMemoryTypeInformationGuid\r
+\r
+[FeaturePcd.IA32]\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode      ## CONSUMES\r
+\r
+[FeaturePcd.X64]\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables       ## CONSUMES\r
+\r
+[FeaturePcd]\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES\r
+\r
+[Pcd.IA32,Pcd.X64]\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable                      ## SOMETIMES_CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask    ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask    ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask               ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard                       ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdUse5LevelPageTable                  ## SOMETIMES_CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase                            ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize                            ## CONSUMES\r
+\r
+[Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64]\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack               ## SOMETIMES_CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy ## SOMETIMES_CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy       ## SOMETIMES_CONSUMES\r
 \r
+[Depex]\r
+  gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid\r
 \r
-################################################################################\r
 #\r
-# Pcd FEATURE_FLAG - list of PCDs that this module is coded for.\r
+# [BootMode]\r
+#  S3_RESUME                        ## SOMETIMES_CONSUMES\r
+#  RECOVERY_FULL                    ## SOMETIMES_CONSUMES\r
 #\r
-################################################################################\r
-\r
-[PcdsFeatureFlag.common]\r
-  PcdDxeIplSupportCustomDecompress|gEfiEdkModulePkgTokenSpaceGuid\r
-  PcdDxeIplSupportTianoDecompress|gEfiEdkModulePkgTokenSpaceGuid\r
-  PcdDxeIplSupportEfiDecompress|gEfiEdkModulePkgTokenSpaceGuid\r
-  PcdDxeIplBuildShareCodeHobs|gEfiEdkModulePkgTokenSpaceGuid\r
-\r
-[PcdsFeatureFlag.IA32]\r
-  PcdDxeIplSwitchToLongMode|gEfiMdeModulePkgTokenSpaceGuid\r
-\r
-\r
-################################################################################\r
 #\r
-# Dependency Expression Section - list of Dependency expressions that are required for\r
-#                              this module.\r
+# [Hob]\r
+# MEMORY_ALLOCATION                 ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_MODULE for DxeCore\r
+# MEMORY_ALLOCATION                 ## SOMETIMES_PRODUCES # New Stack HoB\r
+# MEMORY_ALLOCATION                 ## SOMETIMES_PRODUCES # Old Stack HOB\r
+#\r
+# [Hob.IPF]\r
+# MEMORY_ALLOCATION                 ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_BSP_STORE\r
 #\r
-################################################################################\r
-\r
-[Depex]\r
-  gEfiPeiMemoryDiscoveredPpiGuid\r
 \r
+[UserExtensions.TianoCore."ExtraFiles"]\r
+  DxeIplExtra.uni\r