Home | History | Annotate | Download | only in DxeIplPeim
      1 ## @file

      2 #  Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume.

      3 #

      4 #  This module produces a special PPI named the DXE Initial Program Load (IPL)

      5 #  PPI to discover and dispatch the DXE Foundation and components that are

      6 #  needed to run the DXE Foundation.

      7 #

      8 #  Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>

      9 #  This program and the accompanying materials

     10 #  are licensed and made available under the terms and conditions of the BSD License

     11 #  which accompanies this distribution.  The full text of the license may be found at

     12 #  http://opensource.org/licenses/bsd-license.php

     13 #

     14 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,

     15 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

     16 #

     17 ##

     18 
     19 [Defines]
     20   INF_VERSION                    = 0x00010005
     21   BASE_NAME                      = DxeIpl
     22   MODULE_UNI_FILE                = DxeIpl.uni
     23   FILE_GUID                      = 86D70125-BAA3-4296-A62F-602BEBBB9081
     24   MODULE_TYPE                    = PEIM
     25   VERSION_STRING                 = 1.0
     26 
     27   ENTRY_POINT                    = PeimInitializeDxeIpl
     28 
     29 #

     30 # The following information is for reference only and not required by the build tools.

     31 #

     32 #  VALID_ARCHITECTURES           = IA32 X64 IPF EBC (EBC is for build only) AARCH64

     33 #

     34 
     35 [Sources]
     36   DxeIpl.h
     37   DxeLoad.c
     38 
     39 [Sources.Ia32]
     40   X64/VirtualMemory.h  ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
     41   X64/VirtualMemory.c  ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
     42   Ia32/DxeLoadFunc.c
     43   Ia32/IdtVectorAsm.asm||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
     44   Ia32/IdtVectorAsm.S  ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
     45 
     46 [Sources.X64]
     47   X64/VirtualMemory.h
     48   X64/VirtualMemory.c
     49   X64/DxeLoadFunc.c    
     50 
     51 [Sources.IPF]
     52   Ipf/DxeLoadFunc.c
     53 
     54 [Sources.EBC]
     55   Ebc/DxeLoadFunc.c
     56 
     57 [Sources.ARM, Sources.AARCH64]
     58   Arm/DxeLoadFunc.c
     59 
     60 [Packages]
     61   MdePkg/MdePkg.dec
     62   MdeModulePkg/MdeModulePkg.dec
     63 
     64 [Packages.ARM, Packages.AARCH64]
     65   ArmPkg/ArmPkg.dec
     66 
     67 [LibraryClasses]
     68   PcdLib
     69   MemoryAllocationLib
     70   BaseMemoryLib
     71   ExtractGuidedSectionLib
     72   UefiDecompressLib
     73   ReportStatusCodeLib
     74   PeiServicesLib
     75   HobLib
     76   BaseLib
     77   PeimEntryPoint
     78   DebugLib
     79   DebugAgentLib
     80   PeiServicesTablePointerLib
     81 
     82 [LibraryClasses.ARM, LibraryClasses.AARCH64]
     83   ArmLib
     84 
     85 [Ppis]
     86   gEfiDxeIplPpiGuid                 ## PRODUCES

     87   gEfiPeiDecompressPpiGuid          ## PRODUCES

     88   gEfiEndOfPeiSignalPpiGuid         ## SOMETIMES_PRODUCES # Not produced on S3 boot path

     89   gEfiPeiReadOnlyVariable2PpiGuid   ## SOMETIMES_CONSUMES

     90   gEfiPeiLoadFilePpiGuid            ## SOMETIMES_CONSUMES

     91   gEfiPeiS3Resume2PpiGuid           ## SOMETIMES_CONSUMES # Consumed on S3 boot path

     92   gEfiPeiRecoveryModulePpiGuid      ## SOMETIMES_CONSUMES # Consumed on recovery boot path

     93   ## SOMETIMES_CONSUMES

     94   ## UNDEFINED # HOB

     95   gEfiVectorHandoffInfoPpiGuid
     96 
     97 [Guids]
     98   ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"

     99   ## SOMETIMES_PRODUCES ## HOB

    100   gEfiMemoryTypeInformationGuid
    101 
    102 [FeaturePcd.IA32]
    103   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode      ## CONSUMES

    104 
    105 [FeaturePcd.X64]
    106   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables       ## CONSUMES

    107 
    108 [FeaturePcd]
    109   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES

    110 
    111 [Pcd.IA32,Pcd.X64]
    112   gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable              ## SOMETIMES_CONSUMES

    113 
    114 [Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64]
    115   gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack               ## SOMETIMES_CONSUMES

    116 
    117 [Depex]
    118   gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid
    119 
    120 #

    121 # [BootMode]

    122 #  S3_RESUME                        ## SOMETIMES_CONSUMES

    123 #  RECOVERY_FULL                    ## SOMETIMES_CONSUMES

    124 #

    125 #

    126 # [Hob]

    127 # MEMORY_ALLOCATION                 ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_MODULE for DxeCore

    128 # MEMORY_ALLOCATION                 ## SOMETIMES_PRODUCES # New Stack HoB   

    129 # MEMORY_ALLOCATION                 ## SOMETIMES_PRODUCES # Old Stack HOB

    130 #

    131 # [Hob.IPF]

    132 # MEMORY_ALLOCATION                 ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_BSP_STORE

    133 #

    134 
    135 [UserExtensions.TianoCore."ExtraFiles"]
    136   DxeIplExtra.uni
    137