]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
Integrate the patch contributed by Andrew Fish to add ARM support.
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / DxeIpl.inf
index ab2dc6b2249bf6c5a024dec23a44b7bc6d30191f..a345035f1fa422b6017de4f2ceb728f09dc116db 100644 (file)
-#/** @file\r
-# Component description file for DxeIpl module\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
-#\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
-#\r
-#\r
-#**/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = DxeIpl\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
-[Sources.common]\r
-  DxeIpl.h\r
-  DxeLoad.c\r
-\r
-[Sources.Ia32]\r
-  Ia32/VirtualMemory.h\r
-  Ia32/VirtualMemory.c\r
-  Ia32/DxeLoadFunc.c\r
-  Ia32/ImageRead.c\r
-\r
-[Sources.X64]\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
-\r
-\r
-[Packages]\r
-  MdePkg/MdePkg.dec\r
-  MdeModulePkg/MdeModulePkg.dec\r
-  IntelFrameworkPkg/IntelFrameworkPkg.dec\r
-\r
-[LibraryClasses]\r
-  PeCoffLib\r
-  PcdLib\r
-  MemoryAllocationLib\r
-  BaseMemoryLib\r
-  PeiServicesTablePointerLib\r
-  CustomDecompressLib\r
-  UefiDecompressLib\r
-  PeCoffLoaderLib\r
-  CacheMaintenanceLib\r
-  ReportStatusCodeLib\r
-  PeiServicesLib\r
-  HobLib\r
-  BaseLib\r
-  PeimEntryPoint\r
-  DebugLib\r
-  S3Lib\r
-  RecoveryLib\r
-\r
-[Protocols]\r
-  gEfiCustomizedDecompressProtocolGuid          # PROTOCOL SOMETIMES_PRODUCED\r
-  gEfiTianoDecompressProtocolGuid               # PROTOCOL SOMETIMES_PRODUCED\r
-  gEfiDecompressProtocolGuid                    # PROTOCOL SOMETIMES_PRODUCED\r
-\r
-\r
-[Ppis]\r
-  gEfiPeiSecurityPpiGuid                        # PPI SOMETIMES_CONSUMED\r
-  gEfiPeiSectionExtractionPpiGuid               # PPI SOMETIMES_CONSUMED\r
-  gEfiEndOfPeiSignalPpiGuid                     # PPI SOMETIMES_PRODUCED\r
-  gEfiDxeIplPpiGuid                             # PPI SOMETIMES_PRODUCED\r
-  gEfiPeiPeCoffLoaderGuid                       \r
-  gEfiPeiDecompressPpiGuid\r
-  gEfiPeiFirmwareVolumeInfoPpiGuid\r
-\r
-[FeaturePcd.common]\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportCustomDecompress\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportTianoDecompress\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportEfiDecompress\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildShareCodeHobs\r
-\r
-[FeaturePcd.IA32]\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode\r
-\r
-\r
-[Depex]\r
-  gEfiPeiMemoryDiscoveredPpiGuid\r
-\r
+#/** @file
+#  Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume.
+#  
+#  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.
+#
+#  Copyright (c) 2006 - 2009, Intel Corporation. <BR>
+#  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.
+#  
+#**/
+
+[Defines]
+  INF_VERSION                    = 0x00010005
+  BASE_NAME                      = DxeIpl
+  FILE_GUID                      = 86D70125-BAA3-4296-A62F-602BEBBB9081
+  MODULE_TYPE                    = PEIM
+  VERSION_STRING                 = 1.0
+
+  ENTRY_POINT                    = PeimInitializeDxeIpl
+
+#
+# The following information is for reference only and not required by the build tools.
+#
+#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC (EBC is for build only)
+#
+
+[Sources.common]
+  DxeIpl.h
+  DxeLoad.c
+
+[Sources.Ia32]
+  Ia32/VirtualMemory.h ||||PcdDxeIplSwitchToLongMode
+  Ia32/VirtualMemory.c ||||PcdDxeIplSwitchToLongMode
+  Ia32/DxeLoadFunc.c
+  Ia32/IdtVectorAsm.asm||||PcdDxeIplSwitchToLongMode
+  Ia32/IdtVectorAsm.S  ||||PcdDxeIplSwitchToLongMode
+
+[Sources.X64]
+  X64/VirtualMemory.h
+  X64/VirtualMemory.c
+  X64/DxeLoadFunc.c
+
+[Sources.IPF]
+  Ipf/DxeLoadFunc.c
+
+[Sources.EBC]
+  Ebc/DxeLoadFunc.c
+
+[Sources.ARM]
+  Arm/DxeLoadFunc.c
+
+[Packages]
+  MdePkg/MdePkg.dec
+  MdeModulePkg/MdeModulePkg.dec
+
+[LibraryClasses]
+  PcdLib
+  MemoryAllocationLib
+  BaseMemoryLib
+  ExtractGuidedSectionLib
+  UefiDecompressLib
+  ReportStatusCodeLib
+  PeiServicesLib
+  HobLib
+  BaseLib
+  PeimEntryPoint
+  DebugLib
+
+[Ppis]
+  gEfiDxeIplPpiGuid                 ## PRODUCES
+  gEfiEndOfPeiSignalPpiGuid         ## SOMETIMES_PRODUCES(Not produced on S3 boot path)
+  gEfiPeiDecompressPpiGuid          ## SOMETIMES_PRODUCES
+  gEfiPeiReadOnlyVariable2PpiGuid   ## SOMETIMES_CONSUMES
+  gEfiPeiLoadFilePpiGuid            ## CONSUMES
+  gEfiPeiS3ResumePpiGuid            ## SOMETIMES_CONSUMES(Consumed on S3 boot path)
+  gEfiPeiRecoveryModulePpiGuid      ## SOMETIMES_CONSUMES(Consumed on recovery boot path)
+
+[Guids]
+  gEfiMemoryTypeInformationGuid     ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"
+  gEfiMemoryTypeInformationGuid     ## SOMETIMES_PRODUCES ## HOB
+
+[FeaturePcd.IA32]
+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
+
+[FeaturePcd.common]
+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress
+
+[FixedPcd.common]
+  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeiHandoffToDxe
+
+[Depex]
+  gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiLoadFilePpiGuid
+
+#
+# [BootMode] 
+#   S3_RESUME                       ## SOMETIMES_CONSUMES
+#   RECOVERY                        ## SOMETIMES_CONSUMES
+#
+#  
+# [Hob]
+#   ##
+#   # New Stack HoB
+#   MEMORY_ALLOCATION               ## PRODUCES
+#   ##
+#   # Old Stack HOB
+#   MEMORY_ALLOCATION               ## CONSUMES
+#
+# [Hob.IPF]
+#   ##
+#   # BSP Stack HOB for IPF
+#   MEMORY_ALLOCATION               ## PRODUCES
+#
+#