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

      2 # Fault Tolerant Write Dxe Driver.

      3 #

      4 # This driver installs Fault Tolerant Write (FTW) protocol, 

      5 # which provides fault tolerant write capability for block devices.

      6 # Its implementation depends on the full functionality FVB protocol that support read, write/erase flash access.

      7 #

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

      9 #

     10 #  This program and the accompanying materials

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

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

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

     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                      = FaultTolerantWriteDxe
     22   MODULE_UNI_FILE                = FaultTolerantWriteDxe.uni
     23   FILE_GUID                      = FE5CEA76-4F72-49e8-986F-2CD899DFFE5D
     24   MODULE_TYPE                    = DXE_DRIVER
     25   VERSION_STRING                 = 1.0
     26   ENTRY_POINT                    = FaultTolerantWriteInitialize
     27 
     28 #

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

     30 #

     31 #  VALID_ARCHITECTURES           = IA32 X64 IPF EBC

     32 #

     33 
     34 [Sources]
     35   FtwMisc.c
     36   UpdateWorkingBlock.c
     37   FaultTolerantWrite.c
     38   FaultTolerantWriteDxe.c
     39   FaultTolerantWrite.h
     40 
     41 [Packages]
     42   MdePkg/MdePkg.dec
     43   MdeModulePkg/MdeModulePkg.dec
     44 
     45 [LibraryClasses]
     46   UefiBootServicesTableLib
     47   MemoryAllocationLib
     48   BaseMemoryLib
     49   UefiDriverEntryPoint
     50   DebugLib
     51   UefiLib
     52   PcdLib
     53   ReportStatusCodeLib
     54 
     55 [Guids]
     56   #

     57   # Signature in EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER

     58   #

     59   ## CONSUMES           ## GUID

     60   ## PRODUCES           ## GUID

     61   gEdkiiWorkingBlockSignatureGuid
     62 
     63 [Protocols]
     64   gEfiSwapAddressRangeProtocolGuid | gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable ## SOMETIMES_CONSUMES

     65   ## NOTIFY

     66   ## CONSUMES

     67   gEfiFirmwareVolumeBlockProtocolGuid
     68   gEfiFaultTolerantWriteProtocolGuid            ## PRODUCES

     69 
     70 [FeaturePcd]
     71   gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable    ## CONSUMES

     72 
     73 [Pcd]
     74   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase    ## SOMETIMES_CONSUMES

     75   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64  ## CONSUMES

     76   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize    ## CONSUMES

     77   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase      ## SOMETIMES_CONSUMES

     78   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64    ## CONSUMES

     79   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize      ## CONSUMES

     80 
     81 #

     82 # gBS->CalculateCrc32() is consumed in EntryPoint.

     83 # PI spec said: When the DXE Foundation is notified that the EFI_RUNTIME_ARCH_PROTOCOL

     84 # has been installed, then the Boot Service CalculateCrc32() is available.

     85 # So add gEfiRuntimeArchProtocolGuid Depex here.

     86 #

     87 [Depex]
     88   gEfiFirmwareVolumeBlockProtocolGuid AND gEfiRuntimeArchProtocolGuid
     89 
     90 [UserExtensions.TianoCore."ExtraFiles"]
     91   FaultTolerantWriteDxeExtra.uni
     92