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

      2 #   Fault Tolerant Write Smm Driver.

      3 #

      4 #   This driver installs SMM Fault Tolerant Write (FTW) protocol, which provides fault 

      5 #   tolerant write capability in SMM environment for block devices. Its implementation 

      6 #   depends on the full functionality SMM FVB protocol that support read, write/erase 

      7 #   flash access.

      8 #

      9 # Copyright (c) 2010 - 2015, 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 of the BSD License

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

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

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

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

     17 #

     18 ##

     19 
     20 [Defines]
     21   INF_VERSION                    = 0x00010005
     22   BASE_NAME                      = SmmFaultTolerantWriteDxe
     23   MODULE_UNI_FILE                = SmmFaultTolerantWriteDxe.uni
     24   FILE_GUID                      = 470CB248-E8AC-473c-BB4F-81069A1FE6FD
     25   MODULE_TYPE                    = DXE_SMM_DRIVER
     26   VERSION_STRING                 = 1.0
     27   PI_SPECIFICATION_VERSION       = 0x0001000A
     28   ENTRY_POINT                    = SmmFaultTolerantWriteInitialize
     29 
     30 #

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

     32 #

     33 #  VALID_ARCHITECTURES           = IA32 X64

     34 #

     35 
     36 [Sources]
     37   FtwMisc.c
     38   UpdateWorkingBlock.c
     39   FaultTolerantWrite.c
     40   FaultTolerantWriteSmm.c
     41   FaultTolerantWrite.h
     42   FaultTolerantWriteSmmCommon.h
     43 
     44 [Packages]
     45   MdePkg/MdePkg.dec
     46   MdeModulePkg/MdeModulePkg.dec
     47 
     48 [LibraryClasses]
     49   SmmServicesTableLib
     50   MemoryAllocationLib
     51   BaseMemoryLib
     52   UefiDriverEntryPoint
     53   DebugLib
     54   UefiLib
     55   PcdLib
     56   ReportStatusCodeLib
     57   SmmMemLib
     58 
     59 [Guids]
     60   #

     61   # Signature in EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER

     62   #

     63   ## CONSUMES           ## GUID

     64   ## PRODUCES           ## GUID

     65   gEdkiiWorkingBlockSignatureGuid
     66 
     67 [Protocols]
     68   gEfiSmmSwapAddressRangeProtocolGuid | gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable  ## SOMETIMES_CONSUMES

     69   ## NOTIFY

     70   ## CONSUMES

     71   gEfiSmmFirmwareVolumeBlockProtocolGuid
     72   ## PRODUCES

     73   ## UNDEFINED # SmiHandlerRegister

     74   gEfiSmmFaultTolerantWriteProtocolGuid
     75   gEfiSmmEndOfDxeProtocolGuid                      ## CONSUMES

     76 
     77 [FeaturePcd]
     78   gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable    ## CONSUMES

     79 
     80 [Pcd]
     81   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase    ## SOMETIMES_CONSUMES

     82   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64  ## CONSUMES

     83   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize    ## CONSUMES

     84   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase      ## SOMETIMES_CONSUMES

     85   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64    ## CONSUMES

     86   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize      ## CONSUMES

     87 
     88 #

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

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

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

     92 # So add gEfiRuntimeArchProtocolGuid Depex here.

     93 #

     94 [Depex]
     95   gEfiSmmFirmwareVolumeBlockProtocolGuid AND gEfiRuntimeArchProtocolGuid
     96 
     97 [UserExtensions.TianoCore."ExtraFiles"]
     98   SmmFaultTolerantWriteDxeExtra.uni
     99