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

      2 #  Capsule Runtime Driver produces two UEFI capsule runtime services: (UpdateCapsule, QueryCapsuleCapabilities).

      3 #

      4 #  It installs the Capsule Architectural Protocol defined in PI1.0a to signify 

      5 #  the capsule runtime services are ready.

      6 #  

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

      8 #  This program and the accompanying materials

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

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

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

     12 #  

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

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

     15 #  

     16 ##

     17 
     18 [Defines]
     19   INF_VERSION                    = 0x00010005
     20   BASE_NAME                      = CapsuleRuntimeDxe
     21   MODULE_UNI_FILE                = CapsuleRuntimeDxe.uni
     22   FILE_GUID                      = 42857F0A-13F2-4B21-8A23-53D3F714B840
     23   MODULE_TYPE                    = DXE_RUNTIME_DRIVER
     24   VERSION_STRING                 = 1.0
     25   ENTRY_POINT                    = CapsuleServiceInitialize
     26 
     27 #

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

     29 #

     30 #  VALID_ARCHITECTURES           = IA32 X64 IPF EBC

     31 #

     32 
     33 [Sources]
     34   CapsuleService.c
     35 
     36 [Sources.Ia32, Sources.IPF, Sources.EBC, Sources.ARM, Sources.AARCH64]
     37   SaveLongModeContext.c
     38 
     39 [Sources.X64]
     40   X64/SaveLongModeContext.c
     41 
     42 [Packages]
     43   MdePkg/MdePkg.dec
     44   MdeModulePkg/MdeModulePkg.dec
     45 
     46 [LibraryClasses]
     47   UefiBootServicesTableLib
     48   PcdLib
     49   DebugLib
     50   UefiRuntimeServicesTableLib
     51   UefiDriverEntryPoint
     52   CapsuleLib
     53   UefiRuntimeLib
     54   BaseLib
     55   PrintLib
     56   BaseMemoryLib
     57 
     58 [LibraryClasses.X64]
     59   UefiLib
     60   BaseMemoryLib
     61 
     62 [Guids]
     63   ## SOMETIMES_PRODUCES   ## Variable:L"CapsuleUpdateData" # (Process across reset capsule image) for capsule updated data

     64   ## SOMETIMES_PRODUCES   ## Variable:L"CapsuleLongModeBuffer" # The long mode buffer used by IA32 Capsule PEIM to call X64 CapsuleCoalesce code to handle >4GB capsule blocks

     65   gEfiCapsuleVendorGuid
     66   gEfiFmpCapsuleGuid                            ## SOMETIMES_CONSUMES   ## GUID # FMP capsule GUID

     67 
     68 [Protocols]
     69   gEfiCapsuleArchProtocolGuid                   ## PRODUCES

     70 
     71 [Protocols.X64]
     72   ## UNDEFINED ## NOTIFY

     73   ## SOMETIMES_CONSUMES

     74   gEdkiiVariableLockProtocolGuid
     75 
     76 [FeaturePcd]
     77   gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset   ## CONSUMES

     78 
     79 [FeaturePcd.X64]
     80   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode      ## CONSUMES

     81 
     82 [Pcd]
     83   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule   ## SOMETIMES_CONSUMES

     84   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule || gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset ## SOMETIMES_CONSUMES # Populate Image requires reset support.

     85 
     86 [Pcd.X64]
     87   gEfiMdeModulePkgTokenSpaceGuid.PcdCapsulePeiLongModeStackSize   ## SOMETIMES_CONSUMES

     88   gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable                ## SOMETIMES_CONSUMES

     89 
     90 [Depex]
     91   gEfiVariableWriteArchProtocolGuid             # Depends on variable write functionality to produce capsule data variable

     92 
     93 # [Hob.X64]

     94 # UNDEFINED                 ## SOMETIMES_CONSUMES # CPU

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