]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Dxe/DxeMain.inf
MdeModulePkg DxeCore/PiSmmCore: Add UEFI memory and SMRAM profile support.
[mirror_edk2.git] / MdeModulePkg / Core / Dxe / DxeMain.inf
index c88ff0317dad9b0ef95c1d1a4d21e04bc0e05115..0a63f3cb9232bf00d51bd074ce56b5e394f2fa84 100644 (file)
@@ -1,56 +1,41 @@
-#/** @file\r
-# Component description file for DxeMain module.\r
-#\r
-# This module provide an DXE CIS compliant implementation of DXE Core.\r
-# Copyright (c) 2006 - 2007, Intel Corporation\r
-#\r
-#  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.\r
-#\r
-#\r
-#**/\r
+## @file\r
+#  This is core module in DXE phase.\r
+#\r
+#  It provides an implementation of DXE Core that is compliant with DXE CIS.\r
+#  \r
+#  Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\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
+#  \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
 \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                      = DxeMain\r
+  BASE_NAME                      = DxeCore\r
+  MODULE_UNI_FILE                = DxeCore.uni\r
   FILE_GUID                      = D6A2CB7F-6A18-4e2f-B43B-9920A733700A\r
   MODULE_TYPE                    = DXE_CORE\r
   VERSION_STRING                 = 1.0\r
-  EDK_RELEASE_VERSION            = 0x00020000\r
-  EFI_SPECIFICATION_VERSION      = 0x00020000\r
+\r
 \r
   ENTRY_POINT                    = DxeMain\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
-################################################################################\r
-#\r
-# Sources Section - list of files that are required for the build to succeed.\r
-#\r
-################################################################################\r
-\r
-[Sources.common]\r
-  Library.h\r
-  imem.h\r
-  Image.h\r
-  hand.h\r
-  gcd.h\r
-  FwVolDriver.h\r
-  FwVolBlock.h\r
-  Exec.h\r
+[Sources]\r
   DxeMain.h\r
-  DebugImageInfo.h\r
   SectionExtraction/CoreSectionExtraction.c\r
-  Image/ImageFile.c\r
   Image/Image.c\r
+  Image/Image.h\r
   Misc/DebugImageInfo.c\r
   Misc/Stall.c\r
   Misc/SetWatchdogTimer.c\r
   Library/Library.c\r
   Hand/DriverSupport.c\r
   Hand/Notify.c\r
-  Hand/locate.c\r
-  Hand/handle.c\r
-  Gcd/gcd.c\r
-  Mem/pool.c\r
+  Hand/Locate.c\r
+  Hand/Handle.c\r
+  Hand/Handle.h\r
+  Gcd/Gcd.c\r
+  Gcd/Gcd.h\r
+  Mem/Pool.c\r
   Mem/Page.c\r
-  Mem/memdata.c\r
+  Mem/MemData.c\r
+  Mem/Imem.h\r
+  Mem/MemoryProfileRecord.c\r
   FwVolBlock/FwVolBlock.c\r
+  FwVolBlock/FwVolBlock.h\r
   FwVol/FwVolWrite.c\r
   FwVol/FwVolRead.c\r
   FwVol/FwVolAttrib.c\r
   FwVol/Ffs.c\r
   FwVol/FwVol.c\r
-  Event/tpl.c\r
-  Event/timer.c\r
-  Event/event.c\r
-  Event/execdata.c\r
-  Dispatcher/dependency.c\r
+  FwVol/FwVolDriver.h\r
+  Event/Tpl.c\r
+  Event/Timer.c\r
+  Event/Event.c\r
+  Event/Event.h\r
+  Dispatcher/Dependency.c\r
   Dispatcher/Dispatcher.c\r
   DxeMain/DxeProtocolNotify.c\r
   DxeMain/DxeMain.c\r
-  CommonHeader.h\r
-\r
-\r
-################################################################################\r
-#\r
-# Package Dependency Section - list of Package files that are required for\r
-#                              this module.\r
-#\r
-################################################################################\r
 \r
 [Packages]\r
   MdePkg/MdePkg.dec\r
-  IntelFrameworkPkg/IntelFrameworkPkg.dec\r
-\r
-\r
-################################################################################\r
-#\r
-# Library Class Section - list of Library Classes that are required for\r
-#                         this module.\r
-#\r
-################################################################################\r
+  MdeModulePkg/MdeModulePkg.dec\r
 \r
 [LibraryClasses]\r
   BaseMemoryLib\r
   CacheMaintenanceLib\r
-  PeCoffLoaderLib\r
   UefiDecompressLib\r
   PerformanceLib\r
   HobLib\r
   UefiLib\r
   DebugLib\r
   DxeCoreEntryPoint\r
-\r
-\r
-################################################################################\r
-#\r
-# Guid C Name Section - list of Guids that this module uses or produces.\r
-#\r
-################################################################################\r
+  PeCoffLib\r
+  PeCoffGetEntryPointLib\r
+  PeCoffExtraActionLib\r
+  ExtractGuidedSectionLib\r
+  MemoryAllocationLib\r
+  UefiBootServicesTableLib\r
+  DevicePathLib\r
+  ReportStatusCodeLib\r
+  TimerLib\r
+  DxeServicesLib\r
+  DebugAgentLib\r
+  CpuExceptionHandlerLib\r
+  PcdLib\r
 \r
 [Guids]\r
-  gEfiEventLegacyBootGuid                       # ALWAYS_CONSUMED\r
-  gEfiEventReadyToBootGuid                      # ALWAYS_CONSUMED\r
-  gEfiEventMemoryMapChangeGuid                  # ALWAYS_CONSUMED\r
-  gEfiEventVirtualAddressChangeGuid             # ALWAYS_CONSUMED\r
-  gEfiEventExitBootServicesGuid                 # ALWAYS_CONSUMED\r
-  gEfiHobMemoryAllocModuleGuid                  # ALWAYS_CONSUMED\r
-  gEfiFileInfoGuid                              # ALWAYS_CONSUMED\r
-  gEfiFirmwareFileSystem2Guid                   # ALWAYS_CONSUMED\r
-  gAprioriGuid                                  # ALWAYS_CONSUMED\r
-  gEfiDebugImageInfoTableGuid                   # ALWAYS_CONSUMED\r
-  gEfiHobListGuid                               # ALWAYS_CONSUMED\r
-  gEfiDxeServicesTableGuid                      # ALWAYS_CONSUMED\r
-  gEfiMemoryTypeInformationGuid                 # ALWAYS_CONSUMED\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
+  gEfiEventMemoryMapChangeGuid                  ## PRODUCES             ## Event\r
+  gEfiEventVirtualAddressChangeGuid             ## CONSUMES             ## Event\r
+  ## CONSUMES   ## Event\r
+  ## PRODUCES   ## Event\r
+  gEfiEventExitBootServicesGuid\r
+  gEfiHobMemoryAllocModuleGuid                  ## CONSUMES             ## HOB\r
+  gEfiFirmwareFileSystem2Guid                   ## CONSUMES             ## GUID # Used to compare with FV's file system guid and get the FV's file system format\r
+  gEfiFirmwareFileSystem3Guid                   ## CONSUMES             ## GUID # Used to compare with FV's file system guid and get the FV's file system format\r
+  gAprioriGuid                                  ## SOMETIMES_CONSUMES   ## File\r
+  gEfiDebugImageInfoTableGuid                   ## PRODUCES             ## SystemTable\r
+  gEfiHobListGuid                               ## PRODUCES             ## SystemTable\r
+  gEfiDxeServicesTableGuid                      ## PRODUCES             ## SystemTable\r
+  ## PRODUCES               ## SystemTable\r
+  ## SOMETIMES_CONSUMES     ## HOB\r
+  gEfiMemoryTypeInformationGuid\r
+  gEfiEventDxeDispatchGuid                      ## PRODUCES             ## Event\r
+  gLoadFixedAddressConfigurationTableGuid       ## SOMETIMES_PRODUCES   ## SystemTable\r
+  ## PRODUCES   ## Event\r
+  ## CONSUMES   ## Event\r
+  gIdleLoopEventGuid\r
+  gEventExitBootServicesFailedGuid              ## SOMETIMES_PRODUCES   ## Event\r
+  gEfiVectorHandoffTableGuid                    ## SOMETIMES_PRODUCES   ## SystemTable\r
+  gEdkiiMemoryProfileGuid                       ## SOMETIMES_PRODUCES   ## GUID # Install protocol\r
+  gZeroGuid                                     ## SOMETIMES_CONSUMES   ## GUID\r
+\r
+[Ppis]\r
+  gEfiVectorHandoffInfoPpiGuid                  ## UNDEFINED # HOB\r
 \r
 [Protocols]\r
-  gEfiStatusCodeRuntimeProtocolGuid             # PROTOCOL SOMETIMES_CONSUMED\r
-  gEfiCapsuleArchProtocolGuid                   # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiTianoDecompressProtocolGuid               # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiCustomizedDecompressProtocolGuid          # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiDecompressProtocolGuid                    # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiLoadPeImageProtocolGuid                   # PROTOCOL ALWAYS_PRODUCED\r
-  gEfiSimpleFileSystemProtocolGuid              # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiLoadFileProtocolGuid                      # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiResetArchProtocolGuid                     # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiRealTimeClockArchProtocolGuid             # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiRuntimeArchProtocolGuid                   # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiWatchdogTimerArchProtocolGuid             # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiSecurityArchProtocolGuid                  # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiVariableArchProtocolGuid                  # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiBdsArchProtocolGuid                       # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiVariableWriteArchProtocolGuid             # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiMonotonicCounterArchProtocolGuid          # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiMetronomeArchProtocolGuid                 # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiTimerArchProtocolGuid                     # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiBusSpecificDriverOverrideProtocolGuid     # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiPlatformDriverOverrideProtocolGuid        # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiDriverBindingProtocolGuid                 # PROTOCOL SOMETIMES_CONSUMED\r
-  gEfiFirmwareVolumeBlockProtocolGuid           # PROTOCOL ALWAYS_PRODUCED\r
-  gEfiFirmwareVolumeDispatchProtocolGuid        # PROTOCOL ALWAYS_PRODUCED\r
-  gEfiFirmwareVolumeProtocolGuid                # PROTOCOL ALWAYS_PRODUCED\r
-  gEfiCpuArchProtocolGuid                       # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiDevicePathProtocolGuid                    # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiLoadedImageProtocolGuid                   # PROTOCOL ALWAYS_PRODUCED\r
-  gEfiEbcProtocolGuid                           # PROTOCOL SOMETIMES_CONSUMED\r
-  gEfiSectionExtractionProtocolGuid             # PROTOCOL ALWAYS_PRODUCED\r
+  ## PRODUCES\r
+  ## SOMETIMES_CONSUMES\r
+  gEfiDecompressProtocolGuid\r
+  gEfiLoadPeImageProtocolGuid                   ## SOMETIMES_PRODUCES   # Produces when PcdFrameworkCompatibilitySupport is set\r
+  gEfiSimpleFileSystemProtocolGuid              ## SOMETIMES_CONSUMES\r
+  gEfiLoadFileProtocolGuid                      ## SOMETIMES_CONSUMES\r
+  gEfiLoadFile2ProtocolGuid                     ## SOMETIMES_CONSUMES\r
+  gEfiBusSpecificDriverOverrideProtocolGuid     ## SOMETIMES_CONSUMES\r
+  gEfiDriverFamilyOverrideProtocolGuid          ## SOMETIMES_CONSUMES\r
+  gEfiPlatformDriverOverrideProtocolGuid        ## SOMETIMES_CONSUMES\r
+  gEfiDriverBindingProtocolGuid                 ## SOMETIMES_CONSUMES\r
+  ## PRODUCES\r
+  ## CONSUMES\r
+  ## NOTIFY\r
+  gEfiFirmwareVolumeBlockProtocolGuid\r
+  ## PRODUCES\r
+  ## CONSUMES\r
+  ## NOTIFY\r
+  gEfiFirmwareVolume2ProtocolGuid\r
+  ## PRODUCES\r
+  ## CONSUMES\r
+  gEfiDevicePathProtocolGuid\r
+  gEfiLoadedImageProtocolGuid                   ## PRODUCES\r
+  gEfiLoadedImageDevicePathProtocolGuid         ## PRODUCES\r
+  gEfiHiiPackageListProtocolGuid                ## SOMETIMES_PRODUCES\r
+  gEfiEbcProtocolGuid                           ## SOMETIMES_CONSUMES\r
+  gEfiSmmBase2ProtocolGuid                      ## SOMETIMES_CONSUMES\r
+\r
+  # Arch Protocols\r
+  gEfiBdsArchProtocolGuid                       ## CONSUMES\r
+  gEfiCpuArchProtocolGuid                       ## CONSUMES\r
+  gEfiMetronomeArchProtocolGuid                 ## CONSUMES\r
+  gEfiMonotonicCounterArchProtocolGuid          ## CONSUMES\r
+  gEfiRealTimeClockArchProtocolGuid             ## CONSUMES\r
+  gEfiResetArchProtocolGuid                     ## CONSUMES\r
+  gEfiRuntimeArchProtocolGuid                   ## CONSUMES\r
+  gEfiSecurityArchProtocolGuid                  ## CONSUMES\r
+  gEfiSecurity2ArchProtocolGuid                 ## SOMETIMES_CONSUMES\r
+  gEfiTimerArchProtocolGuid                     ## CONSUMES\r
+  gEfiVariableWriteArchProtocolGuid             ## CONSUMES\r
+  gEfiVariableArchProtocolGuid                  ## CONSUMES\r
+  gEfiCapsuleArchProtocolGuid                   ## CONSUMES\r
+  gEfiWatchdogTimerArchProtocolGuid             ## CONSUMES\r
+\r
+[FeaturePcd]\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport         ## CONSUMES\r
+\r
+[Pcd]\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNumber    ## SOMETIMES_CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNumber     ## SOMETIMES_CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable            ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress         ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfileMemoryType                 ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfilePropertyMask               ## CONSUMES\r
+\r
+# [Hob]\r
+# RESOURCE_DESCRIPTOR   ## CONSUMES\r
+# MEMORY_ALLOCATION     ## CONSUMES\r
+# FIRMWARE_VOLUME       ## CONSUMES\r
+# UNDEFINED             ## CONSUMES # CPU\r
+#\r
+# [Event]\r
+# EVENT_TYPE_RELATIVE_TIMER ## PRODUCES  # DxeCore signals timer event.\r
+# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES  # DxeCore signals timer event.\r
+#\r
+\r
+[UserExtensions.TianoCore."ExtraFiles"]\r
+  DxeCoreExtra.uni\r