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