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

      2 # Capsule update PEIM supports EFI and UEFI.

      3 #

      4 #  Caution: This module requires additional review when modified.

      5 #  This driver will have external input - capsule image.

      6 #  This external input must be validated carefully to avoid security issue like

      7 #  buffer overflow, integer overflow.

      8 #

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

     10 #

     11 # This program and the accompanying materials

     12 # are licensed and made available under the terms and conditions

     13 # of the BSD License which accompanies this distribution.  The

     14 # full text of the license may be found at

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

     16 #

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

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

     19 #

     20 ##

     21 
     22 [Defines]
     23   INF_VERSION                    = 0x00010005
     24   BASE_NAME                      = CapsulePei
     25   MODULE_UNI_FILE                = CapsulePei.uni
     26   FILE_GUID                      = C779F6D8-7113-4AA1-9648-EB1633C7D53B
     27   MODULE_TYPE                    = PEIM
     28   VERSION_STRING                 = 1.0
     29 
     30   ENTRY_POINT                    = CapsuleMain
     31 
     32 #

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

     34 #

     35 #  VALID_ARCHITECTURES           = IA32 X64 IPF EBC

     36 #

     37 
     38 [Sources]
     39   UefiCapsule.c
     40   Capsule.h
     41   Common/CapsuleCoalesce.c  
     42 
     43 [Packages]
     44   MdePkg/MdePkg.dec
     45   MdeModulePkg/MdeModulePkg.dec
     46 
     47 
     48 [LibraryClasses]
     49   BaseLib
     50   HobLib
     51   BaseMemoryLib
     52   PeiServicesLib
     53   PeimEntryPoint
     54   DebugLib
     55   PeiServicesTablePointerLib
     56   PrintLib
     57   ReportStatusCodeLib
     58 
     59 [LibraryClasses.IA32]
     60   PeCoffGetEntryPointLib
     61   PcdLib
     62   DebugAgentLib
     63 
     64 [Guids]
     65   ## SOMETIMES_CONSUMES   ## Variable:L"CapsuleUpdateData"

     66   ## SOMETIMES_CONSUMES   ## Variable:L"CapsuleLongModeBuffer"

     67   gEfiCapsuleVendorGuid
     68 
     69 [Ppis]
     70   gEfiPeiReadOnlyVariable2PpiGuid               ## CONSUMES

     71   gEfiPeiCapsulePpiGuid                         ## PRODUCES

     72   
     73 [Ppis.IA32]  
     74   gEfiPeiLoadFilePpiGuid                        ## SOMETIMES_CONSUMES

     75 
     76 [Pcd.IA32]
     77   gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleCoalesceFile     ## SOMETIMES_CONSUMES

     78   gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable          ## SOMETIMES_CONSUMES

     79 
     80 [FeaturePcd.IA32]
     81   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode  ## CONSUMES

     82 
     83 [Depex]
     84   gEfiPeiReadOnlyVariable2PpiGuid
     85 
     86 # [BootMode]

     87 # FLASH_UPDATE              ## SOMETIMES_CONSUMES

     88 
     89 # [Hob.IA32]

     90 # UNDEFINED                 ## SOMETIMES_CONSUMES # CPU

     91 
     92 # [Hob]

     93 # UNDEFINED                 ## SOMETIMES_PRODUCES # UEFI_CAPSULE

     94 
     95 
     96 [UserExtensions.TianoCore."ExtraFiles"]
     97   CapsulePeiExtra.uni
     98