]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Pei/PeiMain.inf
MdeModulePkg: Fix use-after-free error in InstallConfigurationTable()
[mirror_edk2.git] / MdeModulePkg / Core / Pei / PeiMain.inf
index e7b89a68021b05c331f65bcf8c42639b335c00b4..39a464f32633a35343fed10c533f80c022d9c903 100644 (file)
@@ -1,10 +1,14 @@
-#/** @file\r
-# Component description file for PeiMain module\r
+## @file\r
+# PeiMain module is core module in PEI phase.\r
 #\r
-# This module provide an DXE CIS compliant implementation.\r
-# Copyright (c) 2006 - 2007, Intel Corporation\r
+# It takes responsibilities of:\r
+# 1) Initialize memory, PPI, image services etc, to establish PEIM runtime environment.\r
+# 2) Dispatch PEIM from discovered FV.\r
+# 3) Handoff control to DxeIpl to load DXE core and enter DXE phase.\r
 #\r
-#  All rights reserved. This program and the accompanying materials\r
+# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
+#\r
+#  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
 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 #\r
-#**/\r
+##\r
 \r
 [Defines]\r
   INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = PeiMain\r
+  BASE_NAME                      = PeiCore\r
+  MODULE_UNI_FILE                = PeiCore.uni\r
   FILE_GUID                      = 52C05B14-0B98-496c-BC3B-04B50211D680\r
   MODULE_TYPE                    = PEI_CORE\r
   VERSION_STRING                 = 1.0\r
-  EDK_RELEASE_VERSION            = 0x00020000\r
-  EFI_SPECIFICATION_VERSION      = 0x00020000\r
-\r
   ENTRY_POINT                    = PeiCore\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
+#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC (EBC is for build only)\r
 #\r
 \r
-[Sources.common]\r
+[Sources]\r
   StatusCode/StatusCode.c\r
   Security/Security.c\r
   Reset/Reset.c\r
   Image/Image.c\r
   Hob/Hob.c\r
   FwVol/FwVol.c\r
+  FwVol/FwVol.h\r
   Dispatcher/Dispatcher.c\r
-  Dependency/dependency.c\r
-  Dependency/dependency.h\r
+  Dependency/Dependency.c\r
+  Dependency/Dependency.h\r
   BootMode/BootMode.c\r
+  CpuIo/CpuIo.c\r
+  PciCfg2/PciCfg2.c\r
   PeiMain.h\r
 \r
 [Packages]\r
-  MdeModulePkg/MdeModulePkg.dec\r
   MdePkg/MdePkg.dec\r
+  MdeModulePkg/MdeModulePkg.dec\r
 \r
 [LibraryClasses]\r
-  TimerLib\r
   BaseMemoryLib\r
   PeCoffGetEntryPointLib\r
   ReportStatusCodeLib\r
   MemoryAllocationLib\r
   CacheMaintenanceLib\r
   PeCoffLib\r
-  PeiPiLib\r
+  PeiServicesTablePointerLib\r
+  PcdLib\r
 \r
 [Guids]\r
-  gPeiAprioriFileNameGuid\r
+  gPeiAprioriFileNameGuid       ## SOMETIMES_CONSUMES   ## File\r
+  ## PRODUCES   ## UNDEFINED # Install ppi\r
+  ## CONSUMES   ## UNDEFINED # Locate ppi\r
   gEfiFirmwareFileSystem2Guid\r
-\r
+  ## PRODUCES   ## UNDEFINED # Install ppi\r
+  ## CONSUMES   ## UNDEFINED # Locate ppi\r
+  ## CONSUMES   ## GUID      # Used to compare with FV's file system guid and get the FV's file system format\r
+  gEfiFirmwareFileSystem3Guid\r
+  \r
 [Ppis]\r
-  gEfiPeiStatusCodePpiGuid                      # PPI SOMETIMES_CONSUMED\r
-  gEfiPeiResetPpiGuid                           # PPI SOMETIMES_CONSUMED\r
-  gEfiDxeIplPpiGuid                             # PPI ALWAYS_CONSUMED\r
-  gEfiPeiMemoryDiscoveredPpiGuid                # PPI ALWAYS_PRODUCED\r
-  gEfiPeiDecompressPpiGuid\r
+  gEfiPeiStatusCodePpiGuid                      ## SOMETIMES_CONSUMES # PeiReportStatusService is not ready if this PPI doesn't exist\r
+  gEfiPeiResetPpiGuid                           ## SOMETIMES_CONSUMES # PeiResetService is not ready if this PPI doesn't exist \r
+  gEfiDxeIplPpiGuid                             ## CONSUMES\r
+  gEfiPeiMemoryDiscoveredPpiGuid                ## PRODUCES\r
+  gEfiPeiDecompressPpiGuid                      ## SOMETIMES_CONSUMES\r
+  ## NOTIFY\r
+  ## SOMETIMES_PRODUCES # Produce FvInfoPpi if the encapsulated FvImage is found\r
   gEfiPeiFirmwareVolumeInfoPpiGuid\r
+  ## NOTIFY\r
+  ## SOMETIMES_PRODUCES # Produce FvInfoPpi2 if the encapsulated FvImage is found\r
+  gEfiPeiFirmwareVolumeInfo2PpiGuid\r
+  ## PRODUCES\r
+  ## CONSUMES\r
   gEfiPeiLoadFilePpiGuid\r
-  gEfiPeiSecurity2PpiGuid\r
-  gEfiTemporaryRamSupportPpiGuid\r
+  gEfiPeiSecurity2PpiGuid                       ## NOTIFY\r
+  gEfiTemporaryRamSupportPpiGuid                ## SOMETIMES_CONSUMES\r
+  gEfiTemporaryRamDonePpiGuid                   ## SOMETIMES_CONSUMES\r
+  gEfiPeiReset2PpiGuid                          ## SOMETIMES_CONSUMES\r
 \r
-[FixedPcd.common]\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv\r
-  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeimDispatch\r
-  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeiCoreEntry\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize\r
+[Pcd]  \r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported                   ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv                     ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPpiSupported                  ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize                  ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst  ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport           ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumber         ## SOMETIMES_CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNumber    ## SOMETIMES_CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNumber     ## SOMETIMES_CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable            ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot                      ## CONSUMES \r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnBoot                        ## CONSUMES \r
 \r
+# [BootMode]\r
+# S3_RESUME             ## SOMETIMES_CONSUMES\r
 \r
-[FeaturePcd.common]\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst\r
+# [Hob]\r
+# PHIT                  ## PRODUCES\r
+# RESOURCE_DESCRIPTOR   ## SOMETIMES_PRODUCES\r
+# RESOURCE_DESCRIPTOR   ## SOMETIMES_CONSUMES\r
+# MEMORY_ALLOCATION     ## SOMETIMES_CONSUMES\r
+# FIRMWARE_VOLUME       ## SOMETIMES_PRODUCES\r
+# FIRMWARE_VOLUME       ## SOMETIMES_CONSUMES\r
+# MEMORY_ALLOCATION     ## SOMETIMES_PRODUCES\r
+# MEMORY_ALLOCATION     ## PRODUCES # MEMORY_ALLOCATION_STACK\r
+# UNDEFINED             ## PRODUCES # MEMORY_POOL\r
 \r
-[BuildOptions.common]\r
-  MSFT:*_*_*_CC_FLAGS = /Fa$* /FAsc /FR$(@R).SBR\r
+[UserExtensions.TianoCore."ExtraFiles"]\r
+  PeiCoreExtra.uni\r