Vishal Bhoj | 82c8071 | 2015-12-15 21:13:33 +0530 | [diff] [blame^] | 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
|