| ## @file | |
| # Fault Tolerant Write Smm Driver. | |
| # | |
| # This driver installs SMM Fault Tolerant Write (FTW) protocol, which provides fault | |
| # tolerant write capability in SMM environment for block devices. Its implementation | |
| # depends on the full functionality SMM FVB protocol that support read, write/erase | |
| # flash access. | |
| # | |
| # Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR> | |
| # | |
| # SPDX-License-Identifier: BSD-2-Clause-Patent | |
| # | |
| ## | |
| [Defines] | |
| INF_VERSION = 0x00010005 | |
| BASE_NAME = SmmFaultTolerantWriteDxe | |
| MODULE_UNI_FILE = SmmFaultTolerantWriteDxe.uni | |
| FILE_GUID = 470CB248-E8AC-473c-BB4F-81069A1FE6FD | |
| MODULE_TYPE = DXE_SMM_DRIVER | |
| VERSION_STRING = 1.0 | |
| PI_SPECIFICATION_VERSION = 0x0001000A | |
| ENTRY_POINT = SmmFaultTolerantWriteInitialize | |
| # | |
| # The following information is for reference only and not required by the build tools. | |
| # | |
| # VALID_ARCHITECTURES = IA32 X64 | |
| # | |
| [Sources] | |
| FtwMisc.c | |
| UpdateWorkingBlock.c | |
| FaultTolerantWrite.c | |
| FaultTolerantWriteTraditionalMm.c | |
| FaultTolerantWriteSmm.c | |
| FaultTolerantWrite.h | |
| FaultTolerantWriteSmmCommon.h | |
| [Packages] | |
| MdePkg/MdePkg.dec | |
| MdeModulePkg/MdeModulePkg.dec | |
| [LibraryClasses] | |
| MmServicesTableLib | |
| MemoryAllocationLib | |
| BaseMemoryLib | |
| UefiDriverEntryPoint | |
| DebugLib | |
| UefiLib | |
| PcdLib | |
| ReportStatusCodeLib | |
| SmmMemLib | |
| BaseLib | |
| SafeIntLib | |
| VariableFlashInfoLib | |
| [Guids] | |
| # | |
| # Signature in EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER | |
| # | |
| ## CONSUMES ## GUID | |
| ## PRODUCES ## GUID | |
| gEdkiiWorkingBlockSignatureGuid | |
| [Protocols] | |
| gEfiSmmSwapAddressRangeProtocolGuid | gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable ## SOMETIMES_CONSUMES | |
| ## NOTIFY | |
| ## CONSUMES | |
| gEfiSmmFirmwareVolumeBlockProtocolGuid | |
| ## PRODUCES | |
| ## UNDEFINED # SmiHandlerRegister | |
| gEfiSmmFaultTolerantWriteProtocolGuid | |
| gEfiMmEndOfDxeProtocolGuid ## CONSUMES | |
| [FeaturePcd] | |
| gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable ## CONSUMES | |
| # | |
| # gBS->CalculateCrc32() is consumed in EntryPoint. | |
| # PI spec said: When the DXE Foundation is notified that the EFI_RUNTIME_ARCH_PROTOCOL | |
| # has been installed, then the Boot Service CalculateCrc32() is available. | |
| # So add gEfiRuntimeArchProtocolGuid Depex here. | |
| # | |
| [Depex] | |
| gEfiSmmFirmwareVolumeBlockProtocolGuid AND gEfiRuntimeArchProtocolGuid | |
| [UserExtensions.TianoCore."ExtraFiles"] | |
| SmmFaultTolerantWriteDxeExtra.uni |