]> 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 94dfcab7a3bd234b780b9eaa4687396876acdea5..052ea0ec1a6f27713fa584c16eae0da81b6ea26d 100644 (file)
-#/** @file\r
-#  \r
-#  Component description file for DxeIpl module\r
-#  \r
-#  The responsibility of this module is to load the DXE Core from a Firmware Volume.\r
-#  This implementation is used to load a 32-bit DXE Core.\r
-#  \r
-#  Copyright (c) 2006 - 2008, Intel Corporation. <BR>\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
-#  \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
-#  \r
-#**/\r
+## @file\r
+#  Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume.\r
+#\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
+#  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
 [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 (EBC is for build only)\r
+#  VALID_ARCHITECTURES           = IA32 X64 EBC (EBC is for build only) AARCH64 RISCV64 LOONGARCH64\r
 #\r
 \r
-[Sources.common]\r
+[Sources]\r
   DxeIpl.h\r
   DxeLoad.c\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.asm\r
-  Ia32/IdtVectorAsm.S | GCC\r
+  Ia32/IdtVectorAsm.nasm\r
 \r
-[Sources.X64, Sources.EBC]\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
+[Sources.EBC]\r
+  Ebc/DxeLoadFunc.c\r
+\r
+[Sources.ARM, Sources.AARCH64]\r
+  Arm/DxeLoadFunc.c\r
+\r
+[Sources.RISCV64]\r
+  RiscV64/DxeLoadFunc.c\r
+\r
+[Sources.LOONGARCH64]\r
+  LoongArch64/DxeLoadFunc.c\r
 \r
 [Packages]\r
   MdePkg/MdePkg.dec\r
   MdeModulePkg/MdeModulePkg.dec\r
 \r
+[Packages.ARM, Packages.AARCH64]\r
+  ArmPkg/ArmPkg.dec\r
+\r
 [LibraryClasses]\r
-  PeCoffLib\r
   PcdLib\r
   MemoryAllocationLib\r
   BaseMemoryLib\r
   ExtractGuidedSectionLib\r
   UefiDecompressLib\r
-  CacheMaintenanceLib\r
   ReportStatusCodeLib\r
   PeiServicesLib\r
   HobLib\r
   BaseLib\r
   PeimEntryPoint\r
   DebugLib\r
-  S3Lib\r
-  RecoveryLib\r
+  DebugAgentLib\r
+  PeiServicesTablePointerLib\r
+  PerformanceLib\r
+\r
+[LibraryClasses.ARM, LibraryClasses.AARCH64]\r
+  ArmMmuLib\r
 \r
 [Ppis]\r
-  gEfiEndOfPeiSignalPpiGuid                     # PPI SOMETIMES_PRODUCED\r
-  gEfiDxeIplPpiGuid                             # PPI SOMETIMES_PRODUCED\r
-  gEfiPeiDecompressPpiGuid\r
-  gEfiPeiReadOnlyVariable2PpiGuid\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.PcdDxeIplEnableIdt\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode      ## CONSUMES\r
+\r
+[FeaturePcd.X64]\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables       ## CONSUMES\r
+\r
+[FeaturePcd]\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES\r
 \r
-[FixedPcd.common]\r
-  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeiHandoffToDxe\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
-  gEfiPeiMemoryDiscoveredPpiGuid\r
+  gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid\r
+\r
+#\r
+# [BootMode]\r
+#  S3_RESUME                        ## SOMETIMES_CONSUMES\r
+#  RECOVERY_FULL                    ## SOMETIMES_CONSUMES\r
+#\r
+#\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
+[UserExtensions.TianoCore."ExtraFiles"]\r
+  DxeIplExtra.uni\r